LINUX.ORG.RU
ФорумTalks

А что есть по настоящему свободного с байткодом?

 , ,


0

2

САБЖ. Я про ЯП. Java это проприетарщина + непонятки с лицензией (Oracle там всё с гуглом за жаба API судится), OpenJDK есть, но всё же, .NET это вообще M$ (хоть кусок открыли без GUI и на том спасибо). А что есть от GNU?

★★★★★

В лиспе не байт-код разве? Хотя от реализации, конечно, зависит.

K50 ()

When a byte-code function is called, its definition is evaluated by the byte-code interpreter.

Хотя тогда и питон с байт-кодом. Может ты хотел спросить про JIT?

K50 ()
Ответ на: комментарий от K50

Не, я про стековые машины, где ЯП под это заточен, а не про костыли, которые внесли для ускорения интерпретатора.

peregrine ★★★★★ ()
Ответ на: комментарий от peregrine

Parrot?

А «заточки» самого ЯП никакой не требуется. У Майкрософта можно хоть С++ в MSIL конпелять, хоть васик, хоть паскаль, а потом дёргать функции и классы друг от друга и рефлекшном заниматься.


Да что такое, весь день шутил про члены, теперь в программирование полез. Сменю я всё же аватарку.

K50 ()
Последнее исправление: K50 (всего исправлений: 2)
Ответ на: комментарий от K50

Можно. Но что-то C# и Java рвут лисп, python и иже с ними как тузик грелку

peregrine ★★★★★ ()
Ответ на: комментарий от peregrine

Вот и надо говорить про жид, а не про сам байт-код.

Вроде бы llvm можно в теории использовать как жид-компилятор, но главного спеца по ней, как всегда, забанили.

K50 ()
Последнее исправление: K50 (всего исправлений: 1)
Ответ на: комментарий от crutch_master

У спецификации js нет байт кода. Да и в реализациях байт код использует только движок safari.

Ни у какого JS байткода нет.

mimico ()
Последнее исправление: mimico (всего исправлений: 1)
Ответ на: комментарий от mimico

У quickjs байткод.

Да и в реализациях байт код использует только движок safari.

Виртуальная машина остальных движков на чём работает? Херачит сразу в натив?

crutch_master ★★★★★ ()
Последнее исправление: crutch_master (всего исправлений: 1)
Ответ на: комментарий от crutch_master

Ты можешь бесконечно шланговать, но у байткода есть конкретное определение. Если я напишу движок, который перегоняет С в байткод и исполняет его, от этого у C не появится байткода.

Виртуальная машина остальных движков на чём работает?

Не все движки являются виртуальными машинами. v8 не vm.

mimico ()
Последнее исправление: mimico (всего исправлений: 1)
Ответ на: комментарий от peregrine

Это вопрос производительности vm в первую очередь, а не особенностей языка. Вон js ничуть не менее динамический чем python (что сильно мешает оптимизациям), а v8 очень производительный. Заточка языка под скорость и использование байткода абсолютно параллельные понятия, которые никак не связаны. Вот отсылки к байткоду в официальной документации это другое дело. И у питона в стандартной поставке есть модуль dis для манипуляции байткодом (а у Java это внезапно делается сторонними либами, но хотя бы в документации есть спецификация байткода).

KivApple ★★★★★ ()
Последнее исправление: KivApple (всего исправлений: 1)

МС выпустила Community Promice, гарантирующий что ни у кого не будет проблем вроде Оракла.

Кчтати, байткодом пользуются все, начиная от питона заканчивая WebAssembly

grim ★★★☆ ()
Ответ на: комментарий от fsb4000

Интересно как это все сочетается: с одной стороны MS много чего открыла получается, с другой стороны зонды в закрытой Win10 и отказ LTSC поставлять обычным пользователям.

praseodim ★★★★ ()
Ответ на: комментарий от praseodim

Так «оффтопик» же — не главная статья дохода «мелкомягких» теперь, несмотря на распространённость. Вот и извращаются.

Korchevatel ★★★ ()

Java это проприетарщина + непонятки с лицензией (Oracle там всё с гуглом за жаба API судится)

Отнюдь, сейчас ява свободна как птица. У гугла терки были из-за того, что они использовали несвободную имплементацию стандартной библиотеки. Тогда OpenJDK только начинался и их версия была неполной.

OpenJDK есть

Есть, и он под GPL v2. Сейчас это референсная имплементация Java, так что говорить, что ява несвободна, неправильно.

cocucka ★★ ()
Ответ на: комментарий от cocucka

У явы ать свободные реализации но технология проприетарная и за попытку реализовать собственную версию пойдёте под суд как это происходит с Гуглом

grim ★★★☆ ()
Последнее исправление: grim (всего исправлений: 1)
Ответ на: комментарий от grim

Azul, Excelsior и прочие с https://en.wikipedia.org/wiki/List_of_Java_virtual_machines сделали свою реализацию и с ними никто не судился и никогда не будет судится, а с Google, который забрал себе проприетарный кусок из старой реализации судятся. Садятся не за попытку сделать свою реализацию, а за переиспользование проприетарного закрытого куска кода из одной реализации.

ma1uta ★★ ()
Ответ на: комментарий от ma1uta

Azul, Excelsior и прочие с https://en.wikipedia.org/wiki/List_of_Java_virtual_machines сделали свою реализацию

4.2.

Они перепаковали OpenJDK. «Azul Zulu — is an OpenJDK»

Садятся не за попытку сделать свою реализацию, а за переиспользование проприетарного закрытого куска кода из одной реализации.

4.2.

Судятся именно из-за своей реализации Java API

IBM купила лиценизи и пилит свою JVM без наезда со стороны Оракл.

Того-же хотят и от Гугла

Допускаю что есть неуловимый Джо, у котрого нет денег и соответственно не интересен Ораклу, но как только деньги появытся, Оракл выкатит иск

grim ★★★☆ ()
Последнее исправление: grim (всего исправлений: 3)
Ответ на: комментарий от grim

Они перепаковали OpenJDK. «Azul Zulu — is an OpenJDK»

У Azul есть своя реализация JVM: Zing, которая не основана на OpenJDK, поэтому это как раз у вас 4.2, что якобы Azul только перепаковывают OpenJDK.

IBM купила лиценизи и пилит свою JVM без наезда со стороны Оракл.

Ещё со времён Sun, чтобы своё некое поделие могло называться «Java» надо было проходить сертификацию TCK (Technology Compability Kit), которая представляла набор тестов на соответствие jls. IBM прошла сертификацию, поэтому jike называли Java, Azul проходила сертификацию для Zing, поэтому она тоже Java, Apache Harmony, откуда Google надергал кода - не проходила сертификацию, поэтому Apache Harmony - официально не Java.

Купить недостаточно, надо ещё пройти сертификацию.

ma1uta ★★ ()
Ответ на: комментарий от ma1uta

Т.е. Вы хотите сказать что они выпускают проприетарную жабы не платя лицензии Ораклу?

Лол.

grim ★★★☆ ()
Ответ на: комментарий от grim

Что «лол»? Что никто не платит? Где можно почитать про эту «лицензию»?

Повторюсь, платить только надо за сертификацию (прохождение TCK).

Кто они? IBM или Azul? Если бы вы были немного в теме, то знали бы, что IBM передал как свой компилятор (за который ничего не платили) в open-source http://jikes.sourceforge.net/ так и свою jvm https://github.com/eclipse/openj9 (можно использовать в adoptopenjdk) и присоединились к OpenJDK.

Azul платит только за сертификацию Zing, да.

ma1uta ★★ ()
Ответ на: комментарий от ma1uta

IBM точно купил лицензию.

Если бы вы были немного в теме, то знали бы, что IBM передал как свой компилятор (за который ничего не платили) в open-source

Если бы вы были немного в теме, то знали бы, что я просил новость об этом на ЛОРе.

Если бы вы были немного в теме, то знали бы, что Открытая лицензия не помогла Гуглу избежать суда.

grim ★★★☆ ()
Ответ на: комментарий от mimico

Не все движки являются виртуальными машинами. v8 не vm.

Практически вся скриптуха в наши дни работает на VM с байткодом. Включая v8. Другое дело, что этот байткод не стандартизирован, и вообще закрыт и про него ничего не гарантируется, т.е. нельзя в таком виде программы распространять или даже сохранять и быть уверенным что оно завтра будет работать.

no-such-file ★★★★★ ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)