НовостиОбзорыСобытияIT@WorkРеклама
Идеи и практики автоматизации:

Блог

Java 8, Eclipse Orion 5 и Node.js под JVM и LLVM

Завтра выходит Java 8.

[spoiler]Oracle, как и обещала, пожертвовала функциональностью ради соблюдения сроков выпуска, и даже некритичные баги пока отложены на следующие обновления. Java SE 8 ожидалась еще в прошлом сентябре, однако серьезные пробелы в безопасности и два эпических подпроекта -- Jigsaw (модульная надстройка над Java) и лямбда-вычисления + виртуальные методы расширений (важная фича для эффективного параллельного выполнения итераторов на мультиядерных процессорах), вынудили разработчиков сильно сдвинуть сроки. С Jigsaw, впрочем, уже давно было понятно, что появится он официально в лучшем случае в следующем году, с релизом Java 9. Правда, фича "Prepare for Modularization" в восьмерке уже засветилась.
Вот полный список нововведений: http://openjdk.java.net/projects/jdk8/features

А пятая версия свободного облачного фреймворка Orion для JavaScript-разработки ("онлайновая версия Eclipse") уже доступна для скачки: https://orionhub.org/

Подробнее про Orion можно прочитать тут: http://www.ibm.com/developerworks/ru/library/cl-orionsummary/index.html

В частности, заметно изменился UI, расширилась стыковка с Git, добавлено контекстное понимание библиотек Node.js, реализовано взаимодействие с СУБД Redis, MySQL, Postgres и MongoDB. Полностью конфигурируется механизм проверки синтаксиса JavaScript и JSON, можно добавлять в редактор поддержку других языков программирования.

А Node.js меж тем запущена в Java-машине! Проект Nodyn http://nodyn.io/ предлагает суперсет Node.js, выполняющийся поверх компилятора Dyn.js ( http://dynjs.org/ ECMAScript Runtime для JVM). Это кстати полностью свободная альтернатива JavaScript-компилятору Oracle Nashorn.
Надо отметить, что Nodyn -- это не порт node.js, а полностью переписанная система! В столь сложную работу вложилась Red Hat -- видимо, намереваясь активнее задействовывать JavaScript на серверной стороне совместно с Java.

Кстати, у оригинальной Node.js, выполняющейся движком V8, есть существенный минус: вся система работает фактически в одном потоке (хотя сама Node.js как бы мультитредова). Есть замечательный форк Node.js 0.12 -- http://jxcore.com/ , который поддерживает изолированные инстансы в одном процессе, и легко адаптируется как к мультиядерности, так и к мультипроцессности. При этом уже существующее приложение будет распараллелено автоматически. Разработчики также обещают со временем отказаться от Google V8 в пользу нативной LLVM-компиляции.