Каково различие между Ruby и JRuby? [закрытый]

"Реальной" проблемой, решенной рекурсией, были бы матрешки. Вашей функцией является OpenDoll ().

, Учитывая стек их, Вы были бы recursilvey открывать куклы, называя OpenDoll (), если Вы будете, пока Вы не достигли самой внутренней куклы.

52
задан John Topley 13 November 2009 в 03:29
поделиться

6 ответов

Ruby работает в собственном интерпретаторе на основе C. JRuby работает внутри виртуальной машины Java. Есть много драгоценных камней и подключаемых модулей, которые могут не работать внутри JRuby, особенно с собственными расширениями C, если они не были переписаны для работы на Java.

В конечном итоге разница возникает, когда вы действительно хотите развернуть свое приложение (при условии, что драгоценные камни, которые вы хотите использовать, не были проблемой). Если вы хотите выполнить развертывание на веб-сервере java, то вам подойдет JRuby. Если у вас есть среда * nix, очень популярны также Passenger + Nginx или Apache, которые используют стандартный корпоративный интерпретатор ruby ​​или ruby. Также всегда есть вариант «дворняга» или «тонкий кластер», опять же с использованием стандартного интерпретатора.

60
ответ дан 7 November 2019 в 09:21
поделиться

JRuby работает на виртуальной машине Java (интерпретатор был написан на Java), в то время как исходный интерпретатор Ruby был написан на C. У обоих есть свои преимущества и недостатки (Ruby может использовать собственные расширения, JRuby может получить доступ к типам Java, объектам и т. д.)

JRuby использует синтаксис Ruby 1.8.6, скоро будет доступен 1.9.x. JRuby имеет потоки Java (это означает, что он будет масштабироваться для многих процессоров, ядер и т. Д.), Ruby имеет некоторые проблемы с потоками в пользовательском пространстве, блокировкой ec.

Лично я использую JRuby с Glassfish v3 и Netbeans для разработки RoR, он сильно масштабируется лучше, чем рубин + куча дворняг, апачей и им легче управлять.

24
ответ дан 7 November 2019 в 09:21
поделиться

Ruby - это язык программирования. JRuby - это реализация языка программирования Ruby.

Спрашивать о разнице между ними на самом деле не имеет смысла: они находятся на двух совершенно разных уровнях абстракции.

Это похоже на вопрос, в чем разница между машина и Приус. Это тоже не имеет смысла: Prius - это воплощение общей концепции автомобиля. Вы можете спросить, в чем разница между Prius и Hummer или между автомобилем и самолетом, но разница между автомобилем и Prius не имеет смысла.

Точно так же с Ruby вы можете спросить о разница между Ruby и Python или JRuby и MRI, но разница между Ruby и JRuby не имеет смысла.

5
ответ дан 7 November 2019 в 09:21
поделиться

JRuby в основном совместим с Ruby. Одним из аспектов JRuby является то, что вы можете запускать его в несовместимых режимах по соображениям производительности .

4
ответ дан 7 November 2019 в 09:21
поделиться

JRuby - это Java-реализация Ruby. Он совместим с Ruby 1.8 и отстает от текущего Ruby (1.9). Он работает на JVM и позволяет легко интегрировать существующие библиотеки Java.

4
ответ дан 7 November 2019 в 09:21
поделиться

Насколько я знаю, jruby - это просто реализация Ruby, написанная на java, поэтому она позволяет легко интегрироваться со средой выполнения java.

0
ответ дан 7 November 2019 в 09:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: