@kotlin_lang

Страница 683 из 982
Rikland
23.05.2018
07:54:59
CLion разве интересно, какой под капотом компилятор? Я думал, он всю сборку делегирует CMake.
Я бы ещё смирился с тем что он не собирает. (: Как редактор CLion не плох. Ну так он и заголовочные файлы там где ему говоришь не видит их.

Andrew
23.05.2018
07:55:38
У меня в multiplatform-проекте на котлине в отдельных модулях половина кода красная, мне не привыкать))

Evgeny
23.05.2018
07:57:24
У меня в multiplatform-проекте на котлине в отдельных модулях половина кода красная, мне не привыкать))
можно попробовать на 1.2.50-eap-17 перейти, они там много всего пофиксили

Google
Evgeny
23.05.2018
07:57:59
версия плагина соответствующая тоже есть

Rikland
23.05.2018
07:58:14
Спасибо, бум знать. :)
Для sdcc точно поскольку он косит под gcc, а для avr-gcc не точно (4 года назад видел, могли конечно какие-то катастрофические улучшения внести).

Спасибо, бум знать. :)
для sdcc в cmake есть профили.

Andrew
23.05.2018
07:59:35
можно попробовать на 1.2.50-eap-17 перейти, они там много всего пофиксили
Уже на нём давно, правда с самим компилятором 1.2 50 пока не дружит kotlinx.serializstion. Не исключаю, что я чёт не донастроил, хотя собирается проект успешно.

Evgeny
23.05.2018
08:00:04
тогда печаль если половина красная..) мне помогло в ряде мест

Andrew
23.05.2018
08:01:29
для sdcc в cmake есть профили.
До сих пор не определился, люблю я CMake или ненавижу -- язык оторвать и выбросить, но по возможностям штука отличная))

FRD Official - Dmitriy
23.05.2018
08:02:37
Rikland
23.05.2018
08:02:50
Самое печальное, что большинство производителей МК пилят компиляторы под Винду. Тот же stm8s я долго ждал, пока можно будет под линукс компилировать чем-нибудь и прошивать.

Andrew
23.05.2018
08:02:59
тогда печаль если половина красная..) мне помогло в ряде мест
Местами мне помогало после синка с гредлом руками поправить project structure, но потом я забил. Проекту по паре-тройке часов в неделю выделять удаётся, некогда там со сборкой воевать)

Rikland
23.05.2018
08:05:50
У меня есть пример велосипеда из make, gcc и bcc (Borland C Compiler). Весь проект написан на bcc, gcc нужен был только для того, чтоб генерировать файлы по которым потом make определялся бы в каком порядке это все собирать (:

Rikland
23.05.2018
08:07:38
Это проект встроенки на x86. операционная система реального времени с защищённым режимом.

Google
Andrew
23.05.2018
08:08:21
А почему именно bcc?

Rikland
23.05.2018
08:09:40
А почему именно bcc?
Потому что операционная система должна была быть безопасной, все баги компилятора bcc давно известны.

Rikland
23.05.2018
08:11:20
На текущий момент, вроде как, уже разрешили gcc определенных версий.

Резонно.
Сложно поехать ещё было вперёд, на gcc поскольку у тебя куча ассемблерных вставок.

Резонно.
И синтаксис вообще ни разу не совпадает.

Andrew
23.05.2018
08:13:00
Ну да, там же не C98, там свой диалект, насколько мне помнится.

Rikland
23.05.2018
08:14:10
Ну да, там же не C98, там свой диалект, насколько мне помнится.
Больше всего болело в 64х битных числах поскольку с ними нужно было работать

Ну да, там же не C98, там свой диалект, насколько мне помнится.
При сертификации на безопасность смотрят на asm и его соответствие тому что написано в C коде.

Безопасность там не информационная.

Andrew
23.05.2018
08:21:12
За чтение за пределами буфера пальцы не отрубают? ?

Алексей
23.05.2018
08:21:39
Шутка

Andrew
23.05.2018
08:22:27
Я полагаю, дев-билды на ревью не отдают, хехе.

Rikland
23.05.2018
08:24:05
За чтение за пределами буфера пальцы не отрубают? ?
Отрубают, толмуд по тестированию это 4 книги размером в 600 страниц. На каждой странице порядка 20 тестов.

Алексей
23.05.2018
08:24:44
За чтение за пределами буфера пальцы не отрубают? ?
А вообще, за такое могут и голову снять, если и впрям в продакшн пустил

Anton
23.05.2018
08:25:13
ребята я ничего не хочу сказать но по моему вы удалились от котлина)

Andrew
23.05.2018
08:25:50
А НА КОТЛИНЕ ЗА ПРЕДЕЛАМИ БУФЕРА НЕ ПОЧИТАЕШЬ (я пофиксил)

Алексей
23.05.2018
08:25:55
Это всё они

Andrew
23.05.2018
08:26:13
но вообще прошу прощения, конечно. :)

Google
Rikland
23.05.2018
08:27:39
С котлином вообще беда, его рантайм каждый раз для каждого проекта нужно сертифицировать, поэтому к сожалению ни в этой жизни (:

Andrew
23.05.2018
08:28:16
Я прлагаю, с требованиями к реалтаймовым системам котлин там и не особо уместен был бы.

Andrew
23.05.2018
08:29:18
Это уже не реалтайм системы.
Значит я в какой-то момент упустил нить.

Rikland
23.05.2018
08:32:00
Я не в курсе
Информационная безопасность требует собирать все что ты с собой в продукт тащишь. И естественно платить за проверку этих исходников.

Алексей
23.05.2018
08:33:16
А речь о госконторе или о частной сфере, если не секрет?
А что если он работает в Великом Китайском Фаерволе

Andrew
23.05.2018
08:34:36
А что если он работает в Великом Китайском Фаерволе
Он может просто опустить этот вопрос. А вообще ник на японском, а не на китайском (по крайней мере гугл подсказывает так). Востоковеды обычно не любят, когда люди путают страны)

Andrew
23.05.2018
08:37:26
Судя по тому что я знаю про ВКФ, там много всего в железе реализовано
Логично, пропускная способность-то огромная нужна. (я уже чувствую, как Антон поглядывает на полочку с банхаммером)

Andrew
23.05.2018
08:39:38
Kotlin/Native тут может помочь (:
Я думаю, тут может помочь только новый бекенд для котлина, который бы помог FPGA на нём готовить.

Google
Andrew
23.05.2018
08:41:18
Ничего, щас выкатят Native, потом JVM с JS на эти рельсы переедут, а после этого такой можно будет за выходные написать ?

Rikland
23.05.2018
08:43:49
А чё актуально, Intel выпускает железо со встроенным FPGA (:

Эх. Помню я в универе делал проект своего микроконтроллера (: а потом писал для него программу на 4 листа А4

Было весело. (:

Andrew
23.05.2018
08:49:34
Эх. Помню я в универе делал проект своего микроконтроллера (: а потом писал для него программу на 4 листа А4
Счастливые, небось, были времена, пальцы никто за buffer overflow не отрубал...))

Rikland
23.05.2018
08:51:14
Счастливые, небось, были времена, пальцы никто за buffer overflow не отрубал...))
Там нужно было реализовать математические операции и одну функцию типа корень квадратный или что-то более гемморойное. В нем.

На бумажке писать программу под свой мк это весело (:

Andrew
23.05.2018
08:53:10
Там нужно было реализовать математические операции и одну функцию типа корень квадратный или что-то более гемморойное. В нем.
А. так вы с универа с автоматизацией жизнь связали. Тогда понятно, откуда в качестве пет-проекта берётся кастомная USB-периферия))

Rikland
23.05.2018
08:55:26
Andrew
23.05.2018
08:55:57
У меня разные пет-проекты есть. Я вон Kotline на Node.JS just for fun бота для телеги писал (:
О, первый человек в чате (по крайней мере, насколько я видел), который юзал Kotlin/JS в связке с нодой.

Rikland
23.05.2018
08:56:15
Разве что не пробовал ещё Kotlin + JNI.

И я думаю не буду пробовать, мне проще обмазать Java код со всех сторон аннотациями.

С JNI чаще чем хотелось, приходится работать. Вылезая из уютной песочницы (:

Andrew
23.05.2018
09:00:06
Который раз уже пишу длинное сообщение, где перед каким-то словом стоит слэш, и оно автоматически удаляется, как содержащее команду.

Разве что не пробовал ещё Kotlin + JNI.
Kotlin/JVM | JNI | C работает очевидным образом, Kotlin/JVM | JNI | Kotlin/Native не пробовал сам. Красивый враппер для этого кейса, как говорил несколько раз Николай Иготти в ишьюсах в репе K/N — это explicit non-goal, то есть из коробки не завезут с большой вероятностью. По идее решается сторонней кодогенерацией, но plugin API пока не публичный и только в Kotlin/JVM есть :(

Хотя отсутствие стабильного API народ не смущает — на гитхабе есть либы, которые помогают читать метаданные котлин-классов :)

Andrew
23.05.2018
09:06:33
Ну это как-то проктологично.
Ну как сказать, один раз написать плагин, который будет брать классы, помеченные аннотацией, и генерить по ним обвязку для JVM-стороны, и само его использование вполне себе удобным будет.

Rikland
23.05.2018
09:09:14
Хотя отсутствие стабильного API народ не смущает — на гитхабе есть либы, которые помогают читать метаданные котлин-классов :)
У меня из такого что горит, это он протобафа, где в 3й версии сломали внутреннее api, с помощью которого можно было проверять заполненность полей. Как бы такие библиотеки которые лезут через рефлекшн это ненадёжно.

Google
Rikland
23.05.2018
09:11:45
Пример, у тебя есть диалог печати в Java, русской локализации там нет. Можно взять и с наглой мордой в чужой пакет засунуть свои ресурсы с локализацией. Но с приходом 9ки у тебя случается облом. (:

Там ресурсы для локализации а виде классов скомпилированных.

Взять написать свой диалог ты тоже не можешь, поскольку у тебя куча package private классов, к которым ты не имеешь доступа.

Andrew
23.05.2018
09:16:27
Я хз. Не копал в эту сторону
http://openjdk.java.net/projects/jigsaw/quick-start#xoverride --patch-module спасёт отца русской демократии (возможно)

Rikland
23.05.2018
09:16:32
Все равно собирать свою jvm с патчами

Andrew
23.05.2018
09:17:16
sun.* — это фиг знает, пустят туда или нет. Хотя пример в статье показывает, как патчить java.base — так что может и сработать

Саня
23.05.2018
10:21:27
Всем привет! Котлин с проблемой null pointer exception борется только с помощью ?. или там есть и другие механизмы?

Gleb
23.05.2018
10:24:22
Всем привет! Котлин с проблемой null pointer exception борется только с помощью ?. или там есть и другие механизмы?
еще может в рантайме кинуть исключение, если вдруг налл проник туда, куда не должен был (из джавы или при десериализации, например)

Andrew
23.05.2018
10:24:33
Всем привет! Котлин с проблемой null pointer exception борется только с помощью ?. или там есть и другие механизмы?
вроде как nullable-типов хватает для борьбы с NPE. А о каких потенциальных других механизмов есть?

Ну да, код, работающий с non-null типами обвешивается проверками, чтобы иметь fail-fast.

Саня
23.05.2018
10:27:39
Ну да, код, работающий с non-null типами обвешивается проверками, чтобы иметь fail-fast.
а если в js компилить, то тоже проверки создаются? если переменной int присвоится null, это же дорого каждый раз проверять

например, пришел мне ответ от сервера и я хочу его проверить на правильность типов в рантайме, котлин тут не поможет?

Andrew
23.05.2018
10:30:31
а если в js компилить, то тоже проверки создаются? если переменной int присвоится null, это же дорого каждый раз проверять
Без идей, я пока не интересовался, как работает nullability при интеропе с JS. Вообще говоря на границе с JS-кодом так или иначе где-то будет стоять dynamic -- либо в вашем коде, либо в тайпингах. Загляните в документацию об этом модификаторе.

например, пришел мне ответ от сервера и я хочу его проверить на правильность типов в рантайме, котлин тут не поможет?
Ну если вы провалидируете ответ от сервера и уложите его в котлин-класс, то всё будет хорошо. Тот же kotlinx.serialization может помочь это автоматизировать.

Страница 683 из 982