Подтвердить что ты не робот

Является ли компилятор GNU Java (GCJ) мертвым?

По состоянию на октябрь 2010 года компилятор GNU Java умер? Существуют ли какие-либо активные альтернативы (особенно для компиляции Java на собственный код)?

Было бы предпочтительным использовать растворы LLVM.

4b9b3361

Ответ 1

Вы можете использовать IKVM и Mono досрочно компилятор для генерации собственного кода.

ИЗМЕНИТЬ

Ниже приведен пример внизу этой страницы.

Ответ 2

Более уместным будет вопрос: действительно ли он был жив. Рассмотрите эти проблемы со своего веб-сайта:

  • 1.2 поддержка "все еще неполна".
  • 1.3 то же.
  • Проект был обновлен более года назад [по состоянию на октябрь 2009 года].
  • В настоящее время поддерживается большинство библиотек 1.4 и добавлено 1.5 дополнения.
  • Не поддерживает java.nio.
  • Не поддерживает javax.naming ('полный, но не провайдеры').
  • Не поддерживает javax.sql.
  • Не поддерживает AWT или Swing.
  • Не поддерживает локализацию через java.text.
  • Состояние java.security является "неизвестным".
  • Не проверяет разрешения в java.lang.reflect.
  • Скомпилирует ли это дженерики?
  • Огромные куски, отсутствующие в других пакетах, например. почти 50% java.util.
  • Нет аннотаций.
  • Нет script.
  • Отсутствует почти все javax.xml.* (рекурсивно).
  • Нет org.omg.CORBA.
  • Практически нет org.w3c.
  • Текущее сравнение с JDK 1.6 здесь. Обратите внимание, что это, как представляется, добавляет проценты, чтобы дать совершенно бессмысленное общее количество.

Обратите внимание, что он не объявлен как "компилятор Java". Это компилятор для подмножества Java, известного как GNU CLASSPATH. Что, в свою очередь, не обновлялось с февраля 2009 года.

Если он не мертв, он, безусловно, лежит.

EDIT Он мертв. GCJ больше не является указанным как пакет GNU. И после четырех лет нулевой активности мы имеем право принять то же самое в отношении GNU CLASSPATH.

Ответ 3

Один из вариантов компиляции Java в native - Excelsior JET.

Ответ 4

Я не думаю, что он мертв. Это мало что важно. Который приводит к медленному развитию. Есть 3 факта, потому что сегодня он имеет мало важных результатов:

  • Он основан на пути класса GNU. Поскольку Java является открытым исходным кодом (OpenJDK), нет большой потребности в другой Java с открытым исходным кодом. Это замедляет скорость разработки.
  • В последние годы Java была быстрее. Выход GCJ не ускоряется. Во многих случаях он медленнее.
  • Путь классов GNU имеет много несовместимости.