Scala app without JVM

User avatar
Alexander Troyansky
Уже с Приветом
Posts: 5753
Joined: 15 Aug 2008 00:52

Re: Scala app without JVM

Post by Alexander Troyansky »

Вячеслав Викторович wrote: 29 Dec 2018 23:41
Alexander Troyansky wrote: 29 Dec 2018 23:34
Вячеслав Викторович wrote: 29 Dec 2018 23:32
Alexander Troyansky wrote: 29 Dec 2018 23:15
Вячеслав Викторович wrote: 29 Dec 2018 22:44 Только для дооктябрят сидящих на детсадовских горшках!
Всем остальным естественно понятно, что ява полностностью операбельна в котлин.
Т.е. котлин компилируется в нэйтив, но рядом тащим JVM для остальных зависимостей?
ява компилится в котлин, котлин компилится в нэйтив. Ну что здесь не понятного? Причём здесь ВМ?
"ява компилится в котлин" - это и есть т.н. "ява полностностью операбельна в котлин"?
мне кажется вам просто надо погонять пару примеров хотя бы вот отсюда:
https://github.com/JetBrains/kotlin-nat ... er/samples
Там нет примеров того, как Kotlin-native показывает "полную операбельность с явой", что собсно и вызвало вопросы у меня и Палыча.

Если подытожить:
Kotlin is fully interoperable with Java (agree)
Kotlin can be compiled to native (agree)
Kotlin/Native is (inter)operable with Java (disagree)
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
User avatar
Вячеслав Викторович
Уже с Приветом
Posts: 5777
Joined: 13 Feb 2016 18:50
Location: Кемерово

Re: Scala app without JVM

Post by Вячеслав Викторович »

Alexander Troyansky wrote: 29 Dec 2018 23:49
Вячеслав Викторович wrote: 29 Dec 2018 23:41
Alexander Troyansky wrote: 29 Dec 2018 23:34
Вячеслав Викторович wrote: 29 Dec 2018 23:32
Alexander Troyansky wrote: 29 Dec 2018 23:15
Т.е. котлин компилируется в нэйтив, но рядом тащим JVM для остальных зависимостей?
ява компилится в котлин, котлин компилится в нэйтив. Ну что здесь не понятного? Причём здесь ВМ?
"ява компилится в котлин" - это и есть т.н. "ява полностностью операбельна в котлин"?
мне кажется вам просто надо погонять пару примеров хотя бы вот отсюда:
https://github.com/JetBrains/kotlin-nat ... er/samples
Там нет примеров того, как Kotlin-native показывает "полную операбельность с явой", что собсно и вызвало вопросы у меня и Палыча.

Если подытожить:
Kotlin is fully interoperable with Java (agree)
Kotlin can be compiled to native (agree)
Kotlin/Native is (inter)operable with Java (disagree)
Вы понимаете, что любой ява код может автоматически преобразован в котлин или нет?
МНе тут у нас главная проблема в понимании.
User avatar
Alexander Troyansky
Уже с Приветом
Posts: 5753
Joined: 15 Aug 2008 00:52

Re: Scala app without JVM

Post by Alexander Troyansky »

Вячеслав Викторович wrote: 30 Dec 2018 00:05
Alexander Troyansky wrote: 29 Dec 2018 23:49
Вячеслав Викторович wrote: 29 Dec 2018 23:41
Alexander Troyansky wrote: 29 Dec 2018 23:34
Вячеслав Викторович wrote: 29 Dec 2018 23:32
ява компилится в котлин, котлин компилится в нэйтив. Ну что здесь не понятного? Причём здесь ВМ?
"ява компилится в котлин" - это и есть т.н. "ява полностностью операбельна в котлин"?
мне кажется вам просто надо погонять пару примеров хотя бы вот отсюда:
https://github.com/JetBrains/kotlin-nat ... er/samples
Там нет примеров того, как Kotlin-native показывает "полную операбельность с явой", что собсно и вызвало вопросы у меня и Палыча.

Если подытожить:
Kotlin is fully interoperable with Java (agree)
Kotlin can be compiled to native (agree)
Kotlin/Native is (inter)operable with Java (disagree)
Вы понимаете, что любой ява код может автоматически преобразован в котлин или нет?
МНе тут у нас главная проблема в понимании.
Нет, не понимаю.

Когда говорят "котлин полностью (взаимо)операбелен с явой" имеется в виду, что котлин-исполняемый код и ява-исполняемый код могут друг вызывать без каких либо плясок-перекомпиляций-преобразований.

Вот есть программа на котлин, который зависит от большого количества сторонних ява-библиотек, каким образом все эти зависимости (ява-код, ведь) будут "автоматически преобразованы в котлин?
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
User avatar
Вячеслав Викторович
Уже с Приветом
Posts: 5777
Joined: 13 Feb 2016 18:50
Location: Кемерово

Re: Scala app without JVM

Post by Вячеслав Викторович »

Alexander Troyansky wrote: 30 Dec 2018 00:15
Вячеслав Викторович wrote: 30 Dec 2018 00:05
Alexander Troyansky wrote: 29 Dec 2018 23:49
Вячеслав Викторович wrote: 29 Dec 2018 23:41
Alexander Troyansky wrote: 29 Dec 2018 23:34
"ява компилится в котлин" - это и есть т.н. "ява полностностью операбельна в котлин"?
мне кажется вам просто надо погонять пару примеров хотя бы вот отсюда:
https://github.com/JetBrains/kotlin-nat ... er/samples
Там нет примеров того, как Kotlin-native показывает "полную операбельность с явой", что собсно и вызвало вопросы у меня и Палыча.

Если подытожить:
Kotlin is fully interoperable with Java (agree)
Kotlin can be compiled to native (agree)
Kotlin/Native is (inter)operable with Java (disagree)
Вы понимаете, что любой ява код может автоматически преобразован в котлин или нет?
МНе тут у нас главная проблема в понимании.
Нет, не понимаю.

Когда говорят "котлин полностью (взаимо)операбелен с явой" имеется в виду, что котлин-исполняемый код и ява-исполняемый код могут друг вызывать без каких либо плясок-перекомпиляций-преобразований.

Вот есть программа на котлин, который зависит от большого количества сторонних ява-библиотек, каким образом все эти зависимости (ява-код, ведь) будут "автоматически преобразованы в котлин?
вам надо просто приложить немного труда и попробовать.
Я повторюсь, ява код преобразуется в котлин одним нажатием клавиш.
User avatar
Alexander Troyansky
Уже с Приветом
Posts: 5753
Joined: 15 Aug 2008 00:52

Re: Scala app without JVM

Post by Alexander Troyansky »

Вячеслав Викторович wrote: 30 Dec 2018 00:21
Alexander Troyansky wrote: 30 Dec 2018 00:15
Вячеслав Викторович wrote: 30 Dec 2018 00:05
Alexander Troyansky wrote: 29 Dec 2018 23:49
Вячеслав Викторович wrote: 29 Dec 2018 23:41
мне кажется вам просто надо погонять пару примеров хотя бы вот отсюда:
https://github.com/JetBrains/kotlin-nat ... er/samples
Там нет примеров того, как Kotlin-native показывает "полную операбельность с явой", что собсно и вызвало вопросы у меня и Палыча.

Если подытожить:
Kotlin is fully interoperable with Java (agree)
Kotlin can be compiled to native (agree)
Kotlin/Native is (inter)operable with Java (disagree)
Вы понимаете, что любой ява код может автоматически преобразован в котлин или нет?
МНе тут у нас главная проблема в понимании.
Нет, не понимаю.

Когда говорят "котлин полностью (взаимо)операбелен с явой" имеется в виду, что котлин-исполняемый код и ява-исполняемый код могут друг вызывать без каких либо плясок-перекомпиляций-преобразований.

Вот есть программа на котлин, который зависит от большого количества сторонних ява-библиотек, каким образом все эти зависимости (ява-код, ведь) будут "автоматически преобразованы в котлин?
вам надо просто приложить немного труда и попробовать.
Я повторюсь, ява код преобразуется в котлин одним нажатием клавиш.
что попробовать-то? Согласно тому, что пишут сами инженеры из JetBrains (https://github.com/JetBrains/kotlin-native/issues/1212):
Kotlin/Native is not Kotlin/JVM ahead of time compiler. It is Kotlin compiler suitable for native development. As such it may not, and will not support JARs containing JVM class files as an input.
Никаких "автоматических преобразований" или "операбельностью c явой" нет. Врут, что ли?
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
User avatar
Вячеслав Викторович
Уже с Приветом
Posts: 5777
Joined: 13 Feb 2016 18:50
Location: Кемерово

Re: Scala app without JVM

Post by Вячеслав Викторович »

Alexander Troyansky wrote: 30 Dec 2018 00:43
Вячеслав Викторович wrote: 30 Dec 2018 00:21
Alexander Troyansky wrote: 30 Dec 2018 00:15
Вячеслав Викторович wrote: 30 Dec 2018 00:05
Alexander Troyansky wrote: 29 Dec 2018 23:49
Там нет примеров того, как Kotlin-native показывает "полную операбельность с явой", что собсно и вызвало вопросы у меня и Палыча.

Если подытожить:
Kotlin is fully interoperable with Java (agree)
Kotlin can be compiled to native (agree)
Kotlin/Native is (inter)operable with Java (disagree)
Вы понимаете, что любой ява код может автоматически преобразован в котлин или нет?
МНе тут у нас главная проблема в понимании.
Нет, не понимаю.

Когда говорят "котлин полностью (взаимо)операбелен с явой" имеется в виду, что котлин-исполняемый код и ява-исполняемый код могут друг вызывать без каких либо плясок-перекомпиляций-преобразований.

Вот есть программа на котлин, который зависит от большого количества сторонних ява-библиотек, каким образом все эти зависимости (ява-код, ведь) будут "автоматически преобразованы в котлин?
вам надо просто приложить немного труда и попробовать.
Я повторюсь, ява код преобразуется в котлин одним нажатием клавиш.
что попробовать-то? Согласно тому, что пишут сами инженеры из JetBrains (https://github.com/JetBrains/kotlin-native/issues/1212):
Kotlin/Native is not Kotlin/JVM ahead of time compiler. It is Kotlin compiler suitable for native development. As such it may not, and will not support JARs containing JVM class files as an input.
Никаких "автоматических преобразований" или "операбельностью c явой" нет. Врут, что ли?
Караул устал...
User avatar
Ion Tichy
Уже с Приветом
Posts: 13339
Joined: 07 Dec 2004 04:00
Location: Москва->CO

Re: Scala app without JVM

Post by Ion Tichy »

Я правильно понимаю, что если я возьму исходники, скажем, джБосса (джава текст), сконвертирую их в котлин, скомпилю в нейтив код, потом слинкую объектники, то получу нейтив бинарик, смогу его запустить и он будет работать как оригинальный джавный джБосс?
Как же это вы без гравицаппы пепелац выкатываете из гаража? Это непорядок...
User avatar
Alexander Troyansky
Уже с Приветом
Posts: 5753
Joined: 15 Aug 2008 00:52

Re: Scala app without JVM

Post by Alexander Troyansky »

Ion Tichy wrote: 30 Dec 2018 02:59 Я правильно понимаю, что если я возьму исходники, скажем, джБосса (джава текст), сконвертирую их в котлин, скомпилю в нейтив код, потом слинкую объектники, то получу нейтив бинарик, смогу его запустить и он будет работать как оригинальный джавный джБосс?
Тру и полная интероперабилити - это все вверху, но без "возьму исходники и конвертирую их в Котлин", т.е. просто линкуете и запускаете джары джбосса как родные
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
User avatar
Ion Tichy
Уже с Приветом
Posts: 13339
Joined: 07 Dec 2004 04:00
Location: Москва->CO

Re: Scala app without JVM

Post by Ion Tichy »

Alexander Troyansky wrote: 30 Dec 2018 03:13
Ion Tichy wrote: 30 Dec 2018 02:59 Я правильно понимаю, что если я возьму исходники, скажем, джБосса (джава текст), сконвертирую их в котлин, скомпилю в нейтив код, потом слинкую объектники, то получу нейтив бинарик, смогу его запустить и он будет работать как оригинальный джавный джБосс?
Тру и полная интероперабилити - это все вверху, но без "возьму исходники и конвертируются их в Котлин", т.е. просто линкуете и запускаете джары джбосса как родные
Нипонял... :(
Линкую что?
Как же это вы без гравицаппы пепелац выкатываете из гаража? Это непорядок...
User avatar
Alexander Troyansky
Уже с Приветом
Posts: 5753
Joined: 15 Aug 2008 00:52

Re: Scala app without JVM

Post by Alexander Troyansky »

Ion Tichy wrote: 30 Dec 2018 03:18
Alexander Troyansky wrote: 30 Dec 2018 03:13
Ion Tichy wrote: 30 Dec 2018 02:59 Я правильно понимаю, что если я возьму исходники, скажем, джБосса (джава текст), сконвертирую их в котлин, скомпилю в нейтив код, потом слинкую объектники, то получу нейтив бинарик, смогу его запустить и он будет работать как оригинальный джавный джБосс?
Тру и полная интероперабилити - это все вверху, но без "возьму исходники и конвертируются их в Котлин", т.е. просто линкуете и запускаете джары джбосса как родные
Нипонял... :(
Линкую что?
Вот именно, что нечего линковать. Котлин-нэйтив такого не предусматривает (ещё пока, по крайней мере такой возможности не нашёл). Типа скомпилировал котлин в нэйтив, слинковал их с какими-то библиотеками, которые позволяют вызывать джары без всяких JVM.
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
Palych
Уже с Приветом
Posts: 13722
Joined: 16 Jan 2001 10:01

Re: Scala app without JVM

Post by Palych »

Я бы так сформулировал вопросы:
1. Можно ли скомпилировать JVM byte code в native? (Хоть в котлине, хоть в граале)
2. Как у native code работает garbage collection?
User avatar
Вячеслав Викторович
Уже с Приветом
Posts: 5777
Joined: 13 Feb 2016 18:50
Location: Кемерово

Re: Scala app without JVM

Post by Вячеслав Викторович »

Palych wrote: 30 Dec 2018 06:34 Я бы так сформулировал вопросы:
1. Можно ли скомпилировать JVM byte code в native? (Хоть в котлине, хоть в граале)
2. Как у native code работает garbage collection?
Внятно сформулированный вопрос - уже половина ответа. В котлин нэйтив на оба ответ нет, естественно, т.к. ВМ нет.
User avatar
Ion Tichy
Уже с Приветом
Posts: 13339
Joined: 07 Dec 2004 04:00
Location: Москва->CO

Re: Scala app without JVM

Post by Ion Tichy »

Вячеслав Викторович wrote: 30 Dec 2018 16:03
Palych wrote: 30 Dec 2018 06:34 Я бы так сформулировал вопросы:
1. Можно ли скомпилировать JVM byte code в native? (Хоть в котлине, хоть в граале)
2. Как у native code работает garbage collection?
Внятно сформулированный вопрос - уже половина ответа. В котлин нэйтив на оба ответ нет, естественно, т.к. ВМ нет.
Когда в котлинских исходниках вы обращаетесь к методам джава классов, то в рантайме (котлин интерпретер или скомпилированный котлин код) подгружается JVM (.dl/.so) и т.о. джава ВМ есть. И это имеет место быть для любых екзашников которые пользуют джаву через JNI (Java native interface).
Как же это вы без гравицаппы пепелац выкатываете из гаража? Это непорядок...
User avatar
Вячеслав Викторович
Уже с Приветом
Posts: 5777
Joined: 13 Feb 2016 18:50
Location: Кемерово

Re: Scala app without JVM

Post by Вячеслав Викторович »

Ion Tichy wrote: 30 Dec 2018 17:21
Вячеслав Викторович wrote: 30 Dec 2018 16:03
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, то тогда всё как в яве и можно использовать все явские фички.
User avatar
Alexander Troyansky
Уже с Приветом
Posts: 5753
Joined: 15 Aug 2008 00:52

Re: Scala app without JVM

Post by Alexander Troyansky »

Вячеслав Викторович wrote: 30 Dec 2018 17:54
Ion Tichy wrote: 30 Dec 2018 17:21
Вячеслав Викторович wrote: 30 Dec 2018 16:03
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: 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

Return to “Вопросы и новости IT”