Ion Tichy wrote: 30 Dec 2018 02:59
Я правильно понимаю, что если я возьму исходники, скажем, джБосса (джава текст), сконвертирую их в котлин, скомпилю в нейтив код, потом слинкую объектники, то получу нейтив бинарик, смогу его запустить и он будет работать как оригинальный джавный джБосс?
ДжБосс первым делом грузит модули.
Да и любой app server связывает компоненты динамически.
В примере Сабины демонстрируется server less подход, в этом, как я понимаю и есть изюм...
Palych wrote: 30 Dec 2018 06:34
Я бы так сформулировал вопросы:
1. Можно ли скомпилировать JVM byte code в native? (Хоть в котлине, хоть в граале)
2. Как у native code работает garbage collection?
Внятно сформулированный вопрос - уже половина ответа. В котлин нэйтив на оба ответ нет, естественно, т.к. ВМ нет.
Когда в котлинских исходниках вы обращаетесь к методам джава классов, то в рантайме (котлин интерпретер или скомпилированный котлин код) подгружается JVM (.dl/.so) и т.о. джава ВМ есть. И это имеет место быть для любых екзашников которые пользуют джаву через JNI (Java native interface).
в котлин нэйтиве нет явы, только динамические бинарные библиотеки. Собственно компилятор продуцирует код не сильно отличающийся от кода продуцированного C,C++, Objective-C компиляторами, базирующихся на LLVM.
если котлин компилировать в байткод для JVM, то тогда всё как в яве и можно использовать все явские фички.
Похоже, что клиент проспался и подучил матчасть и теперь вот этого праздника не будет:
Вопрос, что делать с жаба-библиотеками от которых может зависить котлин-приложуха, остаётся открытым.
Только для дооктябрят сидящих на детсадовских горшках!
Всем остальным естественно понятно, что ява полностностью операбельна в котлин.
т.е. нэйтив котлин таки с явой не будет операбелен.
Осталось только выяснить, что имелось в виду под этим:
Вячеслав Викторович wrote:
ява компилится в котлин
до вас видимо до сих пор не дошло, что есть отличие байткода от ява? Байт код та же Scala тоже генерит.
Ну ладно, тут похоже уже ничем не помочь и караул снова устал...
Ion Tichy wrote: 30 Dec 2018 02:59
Я правильно понимаю, что если я возьму исходники, скажем, джБосса (джава текст), сконвертирую их в котлин, скомпилю в нейтив код, потом слинкую объектники, то получу нейтив бинарик, смогу его запустить и он будет работать как оригинальный джавный джБосс?
ДжБосс первым делом грузит модули.
Да и любой app server связывает компоненты динамически.
В примере Сабины демонстрируется server less подход, в этом, как я понимаю и есть изюм...
я ни понил, а зачем там NodeJS?
$ npm install serverless -g
Без npm "бинарный" код выходит не работаит?
Вячеслав Викторович wrote: 30 Dec 2018 23:19
до вас видимо до сих пор не дошло, что есть отличие байткода от ява? Байт код та же Scala тоже генерит.
Ну ладно, тут похоже уже ничем не помочь и караул снова устал...
А, т.е. у вас под "ява полностностью операбельна в котлин" вот здесь у вас даже не байткод имелся в виду:
Вячеслав Викторович wrote: 29 Dec 2018 22:44
Всем остальным естественно понятно, что ява полностностью операбельна в котлин.
Вы говнокодить недавно начали, что ли? Потому что бывалые говнокодеры под компиляцией понимают трансляцию исходного текста высокоуровнего языка в машинный или байт-код. А под (интер)операбельностью языков понимают возможность скомпилированного байт-кода этих языков взаимодействовать друг с другом совершенно естественным образом без всяких конвертацией, а не то, что вы подумали вчера про функцию среды IntelliJ для конвертации ява-в-котлин. Садитесь обратно на горшок и переваривайте новую информацию
I would hope that a wise white man with the richness of his experiences would more often than not reach a better conclusion than a latina female who hasn't lived that life
Кстати к оригинальному посту...
А что впечатляет то?
Ну есть язык программирования. Определены синтаксис и семантика. Что, сбацать компилятор в x86 или SPARC это уже "wow!" ?
[утрированно] Дайте мне BNF языка плюс знание целевой платформы (ассемблер и ОС) и с помощью yacc-а/bison-а компайлер можно сбацать за деньза неделю легко.
Как же это вы без гравицаппы пепелац выкатываете из гаража? Это непорядок...