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

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

Решения LLVM были бы предпочтительными.

4 ответа

Решение

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

РЕДАКТИРОВАТЬ

Внизу этой страницы есть пример.

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

  • 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.
  • Нет аннотаций.
  • Нет скриптового движка.
  • Почти все javax.xml.* (рекурсивно) отсутствует.
  • нет org.omg.CORBA.
  • Практически нет org.w3c.
  • Текущее сравнение с JDK 1.6 здесь. Обратите внимание, что это, кажется, добавляет проценты, чтобы получить абсолютно бессмысленную сумму.

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

Если он не мертв, он, конечно, ложится.

РЕДАКТИРОВАТЬ Это мертв. GCJ больше не указан как пакет GNU. И после четырех лет нулевой активности мы имеем право предположить то же самое в отношении GNU CLASSPATH.

Одна из альтернатив для компиляции Java на нативный - это Excelsior JET.

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

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