Каковы альтернативы Java VM?

Поскольку Oracle предъявляет иск Google на виртуальную машину Dalvik, становится ясно, что вы не можете внедрить Java VM без лицензии от Oracle (РЕДАКТИРОВАТЬ: Мэтью Флэшен указывает, что претензии Oracle может быть недопустимым. В любом случае, в настоящее время у нас есть ситуация, когда Oracle угрожает виртуальным реализациям.) Это может стать смертью для Open-Source-реализаций Java (например, Apache Harmony ).

Я не хочу обсуждать влияние или легитимность этого иска. но как Java-программист я хочу более глубоко изучить альтернативы, чтобы быть готовым к каждому случаю. Поскольку я вижу создание компилятора как незначительную проблему, мой основной интерес представляют альтернативные виртуальные реализации, которые служат той же цели, что и JVM.

Виртуальная машина, которую я ищу, должна удовлетворять некоторым условиям:

  • без патентных вопросов
  • существует реализация с открытым исходным кодом
  • потенциал для оптимизации / хорошей производительности
  • независимый от платформы (виртуальная машина может быть портирована на разные платформы без больших препятствий)

Пожалуйста, добавьте некоторые рекомендации для я.

8
задан Seki 13 June 2015 в 11:51
поделиться

2 ответа

LLVM — действительно хорошая оптимизирующая низкоуровневая виртуальная машина. Он может поддерживать такие языки, как C и C++, и не имеет встроенной поддержки функций высокого уровня, таких как сборка мусора.

VMKit — это реализация виртуальных машин Java и CLI поверх LLVM. Поскольку он использует байт-код Java, это, вероятно, не поможет с проблемами патента.

HLVM — еще одна интересная виртуальная машина высокого уровня, построенная поверх LLVM. Вероятно, он достаточно отличается, чтобы избежать большинства известных патентов, но в основном он ориентирован на численные вычисления и функциональное программирование.

На динамически типизированной стороне есть Parrot.

На самом деле я работаю над компилятором и виртуальной машиной для языка собственной разработки, но не рассчитываю, что это когда-нибудь будет закончено. ;-)

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

6
ответ дан 5 December 2019 в 12:53
поделиться

Я не думаю, что существует какое-либо значимое программное обеспечение, свободное от патентных проблем.

Если вы независимый разработчик или работаете в небольшой компании, вы, вероятно, не столкнетесь с проблемами напрямую. Маловероятно, что крупные компании, владеющие патентами, будут предъявлять множество мелких требований — это дорогостоящий процесс и вызывает много недовольства. SCO попробовала что-то подобное, но у них это не очень хорошо вышло.

Я бы сосредоточился на поиске лучшего инструмента для работы, не слишком беспокоясь о проблемах с патентами, иначе вы никогда ничего не добьетесь.

4
ответ дан 5 December 2019 в 12:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: