Я использовал оба Matz's Ruby и JRuby, и они решают разные задачи. Если вы разрабатываете прямое приложение на Ruby или Rails, то этого, вероятно, будет достаточно, но если есть несколько мощных библиотек Java, которые могут помочь, то JRuby может быть полезен.
Я не сделал ничего слишком сложного, но JRuby, похоже, довольно хорошо соответствовал, по крайней мере, в том, что касается реализации основных функций языка (я пока не сталкивался с какими-либо различиями, но они могут существовать).
Один небольшой анекдот, которым я хотел бы поделиться ... Я писал сценарий для взаимодействия с базой данных DB2. Поддержка DB2 в Ruby ужасна ... вам нужно установить всю экспресс-версию DB2, просто чтобы иметь возможность скомпилировать драйверы Ruby, что мне даже не помогло. Я сыт по горло и переключился на JRuby, используя JDBC и несколько маленьких jar-файлов DB2 JDBC. Это решило мою проблему отлично. Точка? Что ж, если получение доступа к некоторым библиотекам Java упростит проблему под рукой, обязательно сделайте это!
Надеюсь, это было полезно! Извините, у меня нет опыта работы с другими виртуальными машинами ....
Еще одно предостережение, о котором я читал, но я не слишком хорошо знаю детали ... JRuby, я думаю, поддерживает потоки через потоки Java вместо "зеленых" потоков, поддерживаемых в реализации Matz ... так что если вы Если вам нужна многопоточность в многоядерных системах, JRuby, вероятно, будет вам лучше ... если вы не хотите выполнять многопоточность в C.