Я бы так сформулировал вопросы:
1. Можно ли скомпилировать JVM byte code в native? (Хоть в котлине, хоть в граале)
2. Как у native code работает garbage collection?
Scala app without JVM
-
- Уже с Приветом
- Posts: 5777
- Joined: 13 Feb 2016 18:50
- Location: Кемерово
Re: Scala app without JVM
Внятно сформулированный вопрос - уже половина ответа. В котлин нэйтив на оба ответ нет, естественно, т.к. ВМ нет.
-
- Уже с Приветом
- Posts: 13339
- Joined: 07 Dec 2004 04:00
- Location: Москва->CO
Re: Scala app without JVM
Когда в котлинских исходниках вы обращаетесь к методам джава классов, то в рантайме (котлин интерпретер или скомпилированный котлин код) подгружается JVM (.dl/.so) и т.о. джава ВМ есть. И это имеет место быть для любых екзашников которые пользуют джаву через JNI (Java native interface).Вячеслав Викторович wrote: ↑30 Dec 2018 16:03Внятно сформулированный вопрос - уже половина ответа. В котлин нэйтив на оба ответ нет, естественно, т.к. ВМ нет.
Как же это вы без гравицаппы пепелац выкатываете из гаража? Это непорядок...
-
- Уже с Приветом
- Posts: 5777
- Joined: 13 Feb 2016 18:50
- Location: Кемерово
Re: Scala app without JVM
в котлин нэйтиве нет явы, только динамические бинарные библиотеки. Собственно компилятор продуцирует код не сильно отличающийся от кода продуцированного C,C++, Objective-C компиляторами, базирующихся на LLVM.Ion Tichy wrote: ↑30 Dec 2018 17:21Когда в котлинских исходниках вы обращаетесь к методам джава классов, то в рантайме (котлин интерпретер или скомпилированный котлин код) подгружается JVM (.dl/.so) и т.о. джава ВМ есть. И это имеет место быть для любых екзашников которые пользуют джаву через JNI (Java native interface).Вячеслав Викторович wrote: ↑30 Dec 2018 16:03Внятно сформулированный вопрос - уже половина ответа. В котлин нэйтив на оба ответ нет, естественно, т.к. ВМ нет.
если котлин компилировать в байткод для JVM, то тогда всё как в яве и можно использовать все явские фички.
-
- Уже с Приветом
- Posts: 5753
- Joined: 15 Aug 2008 00:52
Re: Scala app without JVM
Похоже, что клиент проспался и подучил матчасть и теперь вот этого праздника не будет:Вячеслав Викторович wrote: ↑30 Dec 2018 17:54в котлин нэйтиве нет явы, только динамические бинарные библиотеки. Собственно компилятор продуцирует код не сильно отличающийся от кода продуцированного C,C++, Objective-C компиляторами, базирующихся на LLVM.Ion Tichy wrote: ↑30 Dec 2018 17:21Когда в котлинских исходниках вы обращаетесь к методам джава классов, то в рантайме (котлин интерпретер или скомпилированный котлин код) подгружается JVM (.dl/.so) и т.о. джава ВМ есть. И это имеет место быть для любых екзашников которые пользуют джаву через JNI (Java native interface).Вячеслав Викторович wrote: ↑30 Dec 2018 16:03Внятно сформулированный вопрос - уже половина ответа. В котлин нэйтив на оба ответ нет, естественно, т.к. ВМ нет.
если котлин компилировать в байткод для JVM, то тогда всё как в яве и можно использовать все явские фички.
т.е. нэйтив котлин таки с явой не будет операбелен.Вячеслав Викторович wrote: ↑29 Dec 2018 22:44Только для дооктябрят сидящих на детсадовских горшках!Alexander Troyansky wrote: ↑29 Dec 2018 19:36Вопрос, что делать с жаба-библиотеками от которых может зависить котлин-приложуха, остаётся открытым.Вячеслав Викторович wrote: ↑29 Dec 2018 09:31 котлин компилиться прямо в бинарник и ему ВМ или Рантайммашина после этого не нужна вообще.
https://kotlinlang.org/docs/reference/n ... rview.html
Всем остальным естественно понятно, что ява полностностью операбельна в котлин.
Осталось только выяснить, что имелось в виду под этим:
Вячеслав Викторович wrote: ява компилится в котлин
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
-
- Уже с Приветом
- Posts: 13682
- Joined: 16 Jan 2001 10:01
Re: Scala app without JVM
ДжБосс первым делом грузит модули.
Да и любой app server связывает компоненты динамически.
В примере Сабины демонстрируется server less подход, в этом, как я понимаю и есть изюм...
-
- Уже с Приветом
- Posts: 5777
- Joined: 13 Feb 2016 18:50
- Location: Кемерово
Re: Scala app without JVM
до вас видимо до сих пор не дошло, что есть отличие байткода от ява? Байт код та же Scala тоже генерит.Alexander Troyansky wrote: ↑30 Dec 2018 18:34Похоже, что клиент проспался и подучил матчасть и теперь вот этого праздника не будет:Вячеслав Викторович wrote: ↑30 Dec 2018 17:54в котлин нэйтиве нет явы, только динамические бинарные библиотеки. Собственно компилятор продуцирует код не сильно отличающийся от кода продуцированного C,C++, Objective-C компиляторами, базирующихся на LLVM.Ion Tichy wrote: ↑30 Dec 2018 17:21Когда в котлинских исходниках вы обращаетесь к методам джава классов, то в рантайме (котлин интерпретер или скомпилированный котлин код) подгружается JVM (.dl/.so) и т.о. джава ВМ есть. И это имеет место быть для любых екзашников которые пользуют джаву через JNI (Java native interface).Вячеслав Викторович wrote: ↑30 Dec 2018 16:03Внятно сформулированный вопрос - уже половина ответа. В котлин нэйтив на оба ответ нет, естественно, т.к. ВМ нет.
если котлин компилировать в байткод для JVM, то тогда всё как в яве и можно использовать все явские фички.т.е. нэйтив котлин таки с явой не будет операбелен.Вячеслав Викторович wrote: ↑29 Dec 2018 22:44Только для дооктябрят сидящих на детсадовских горшках!Alexander Troyansky wrote: ↑29 Dec 2018 19:36Вопрос, что делать с жаба-библиотеками от которых может зависить котлин-приложуха, остаётся открытым.Вячеслав Викторович wrote: ↑29 Dec 2018 09:31 котлин компилиться прямо в бинарник и ему ВМ или Рантайммашина после этого не нужна вообще.
https://kotlinlang.org/docs/reference/n ... rview.html
Всем остальным естественно понятно, что ява полностностью операбельна в котлин.
Осталось только выяснить, что имелось в виду под этим:Вячеслав Викторович wrote: ява компилится в котлин
Ну ладно, тут похоже уже ничем не помочь и караул снова устал...
-
- Уже с Приветом
- Posts: 5777
- Joined: 13 Feb 2016 18:50
- Location: Кемерово
Re: Scala app without JVM
я ни понил, а зачем там NodeJS?
$ npm install serverless -g
Без npm "бинарный" код выходит не работаит?
-
- Уже с Приветом
- Posts: 5753
- Joined: 15 Aug 2008 00:52
Re: Scala app without JVM
А, т.е. у вас под "ява полностностью операбельна в котлин" вот здесь у вас даже не байткод имелся в виду:Вячеслав Викторович wrote: ↑30 Dec 2018 23:19 до вас видимо до сих пор не дошло, что есть отличие байткода от ява? Байт код та же Scala тоже генерит.
Ну ладно, тут похоже уже ничем не помочь и караул снова устал...
Вы говнокодить недавно начали, что ли? Потому что бывалые говнокодеры под компиляцией понимают трансляцию исходного текста высокоуровнего языка в машинный или байт-код. А под (интер)операбельностью языков понимают возможность скомпилированного байт-кода этих языков взаимодействовать друг с другом совершенно естественным образом без всяких конвертацией, а не то, что вы подумали вчера про функцию среды IntelliJ для конвертации ява-в-котлин. Садитесь обратно на горшок и переваривайте новую информациюВячеслав Викторович wrote: ↑29 Dec 2018 22:44 Всем остальным естественно понятно, что ява полностностью операбельна в котлин.
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
-
- Уже с Приветом
- Posts: 13339
- Joined: 07 Dec 2004 04:00
- Location: Москва->CO
Re: Scala app without JVM
Кстати к оригинальному посту...
А что впечатляет то?
Ну есть язык программирования. Определены синтаксис и семантика. Что, сбацать компилятор в x86 или SPARC это уже "wow!" ?
[утрированно] Дайте мне BNF языка плюс знание целевой платформы (ассемблер и ОС) и с помощью yacc-а/bison-а компайлер можно сбацать за день за неделю легко.
Как же это вы без гравицаппы пепелац выкатываете из гаража? Это непорядок...