JRuby: где, зачем и кому нужен? И кто его юзает?

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

У меня возник такой вопрос (даже несколько):

1. Есть Ruby. Тот который основной, написанный на С, с рельсами и прочим. Есть Rubinius (или как его там), написанный на самих рубях — насколько я понимаю он пишется энтузиастами для энтузиастов (хотя возможно ошибаюсь).

Но, самое интересное — был IronRuby, который под дотнет, на сишарпе, но он приказал долго жить. И есть JRuby, который под JVM на джаве, но он по какой-то причине вроде как живет и здравствует. Не, я конечно понимаю — экостистема джавы и все такое, но почему тогда IronRuby копыта откинул? Ведь в дотнете тоже ж есть своя экосистема и она по-моему не намного меньше джавовской.

2. Теперь с другой стороны — есть JRuby, можно поднять Rails на экосистеме джавы... Но ведь есть Groovy с Grails, который был вдохновлен рубями и рельсами, зачем поднимать Rails, если есть Grails (не думаю, что груви намного сложнее рубей). Или дело тут не в «рельсах», а в чем-то другом? Использование руби в качестве встраиваемого скриптового языка для джавовских приложений? Или еще что-то?

3.Ы. Ну и наконец, кто его юзает? Рубисты, которым позарез нужно что-то из джавовской экосистемы? Или JRuby больше для фана делается (ну типа как рубиниус)? Ну и какие рубиновские фреймворки можно юзать на JRuby?

З.Ы. Если что — сам не рубист, но просто интересуют некоторые JVM-языки (а именно: Kotlin, Clojure, Groovy, Jython и собственно виновник создания данной темы).

👍ПодобаєтьсяСподобалось1
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Было такое на одном из прошлых проектов: часть сервисов на Python, часть на Java. Python-сервисы определенным образом трансформировали входящие документы. В Java-сервисах со временем потребовались такие же трансформации.
Чтобы избежать дублирования и дальнейшей потенциальной рассинхронизации кода трансформеров, выделили общую логику на Python и выполняли ее в CPython и Jython.
Из минусов припоминаю не особо удобоваримые стэктрейсы из Jython, когда натыкались на ошибки в наших трансформерах, и непреодолимое на тот момент отставание мажорной версии Jython от CPython. Но в целом, задумка сработала достаточно хорошо.

В 2к21 руби вообще кто-то юзает? Руби же застрял где-то в 2005 когда многие языки двигались вперед.

Підписатись на коментарі