Вышел JRuby 1.0!

Вышел JRuby 1.0!

Тихо и ненавязчиво, даже, можно сказать, закономерно, в то время, как вся Россия праздновала день своей независимости непонятно от кого, команда JRuby выпустила долгожданный релиз одноименного языка. Внесу и свой buzz в тему.

Jruby 1.0 — это порт Ruby 1.8.5 на платформу Java. То есть, 1.0 означает, что достигнута полная совместимость с 1.8.5.

Что дает простому веб-разработчику  JRuby в то время, как давно и успешно используется MRI (Matz's ruby interpreter) — C-версия интерпретатора? Ответ очевиден и прост: возможность интеграции с многочисленными компонентами, написанными на Java, правда, при потере возможности использования C-экстеншнов Ruby.

Не более того.

Ответ на вопрос, стоит ли оно того неоднозначен. Тут каждому свое. Если говорить обо мне, то не скажу ничего нового: я из двух Ruby выбираю Java-вариант, поскольку он дает мне возможность использовать XSLT2.0 процессор Saxon , замечательную по многим параметрам библиотеку полнотекстового поиска Apache Lucene , привычную JDBC и много мелких, стабильных и зрелых компонент из Java-мира. Если бы занимался десктопными делами, к плюсам добавил бы еще Swing и SWT, ибо в Ruby так и непонятно что лучше - Tcl или Qt.

Но вообще, JRuby создавался не для сдергивания Ruby-программистов на Java-платформу. Он был нужен как раз для Java-мира, привнося на JVM мощный мегадинамический скриптовый язык для упрощения и ускорения разработки приложений. Да, есть потери в скорости по сравнению с нативной Java. Что греха таить, есть потери в скорости и по сравнению с MRI (не такие существенные, как может показаться, ряд приложений быстрее выполненяется под JRuby). Использование динамики в критичных по времени выполнения участках явно не есть основное применение языка.

Быстрое прототипирование да agile разработка — вот, пожалуй, для чего нам JRuby.

Однако, и тут не все так однозначно. На JVM написано уже множество красивых, гибких и мощных интерпретаторов и компиляторов. Тут есть и Groovy , Jython , Lisp , Javascript наконец. теперь еще и Ruby. То есть, не эксклюзив. Тогда зачем?

Да дело тут в самом Ruby. Язык по-настоящему хорош и достоин быть в  любом красивом списке. А у Java-девелоперов появляется богатый выбор.

Итого. Можно запустить Rails-приложение в каком-нибуть сервлет-контейнере (надобность этого на самом деле вызывает во мне много сомнений). Можно в этом приложении использовать XSLT2.0 и Lucene. И это все — без потерь в производительности и без ubuntu-плясок с бубнами "забытого всеми gem'а".

Мечта. Сбывшаяся.

Мои поздравления команде JRuby! 

Комментарии (0)

mem: 1153 total: 15 module: 8 xsl: 4