Какой интерпретатор Ruby вы ждете?
Вопрос
В настоящее время в разработке находится несколько реализаций Ruby.Чего вы ждете и почему?Вы активно используете в производстве не-МРТ реализацию?
Некоторые из вариантов включают в себя:
Решение
Маглев.Он будет иметь преимущество в скорости благодаря всей оптимизации, которая проводилась в основных виртуальных машинах Smalltalk за многие-многие годы.Кроме того, он почти автоматически сохранит все ваши данные, поэтому больше нет необходимости возиться со слоями объектно-реляционного сопоставления и так далее.
Другие советы
Ruby 1.9 (YARV) дает нам хорошее представление о том, куда движется Ruby, но я бы не рекомендовал использовать его в производственных целях.Хотя она, безусловно, намного быстрее, чем 1.8, даже некоторые части синтаксиса продолжают меняться, поэтому я не думаю, что ее можно назвать стабильной.У него есть некоторые интересные новые функции и синтаксис, которые со временем наверняка найдут применение во всех других реализациях.
JRuby и IronRuby полезны тем, что предоставляют Ruby доступ к целому ряду новых библиотек и сред, где Ruby иначе нельзя было бы использовать.Сам я пока не нашел им особого применения, но считаю, что это здорово, что они существуют.Они могут позволить Ruby проникнуть в корпоративную среду, где в противном случае это было бы запрещено.Это может быть только хорошо.
Рубиниус и Маглев, вероятно, являются наиболее интересными проектами, но также и теми, от которых их польза для общества, вероятно, будет очень далекой в будущем.Rubinius вполне может превратиться в передовую «чистую» виртуальную машину для языка Ruby, позволяющую коду Ruby работать намного быстрее, чем сейчас.Маглев также кажется чрезвычайно многообещающим, подкрепленным более чем 20-летним опытом работы с виртуальными машинами.Он также будет предоставлять функции, выходящие за рамки стандартной виртуальной машины, но, конечно, за это придется платить переносимостью кода.
Однако в целом меня больше всего волнует конкуренция между этими реализациями.Наличие конкурирующих проектов, работающих над улучшением Ruby, может только сделать экосистему Ruby сильнее.Судя по тому, что я тоже видел, пока существует конкуренция, она дружелюбная;каждый проект дает и берет идеи друг от друга.Работа, проделанная командами JRuby и Rubinius по созданию спецификации Ruby, является, вероятно, самым важным результатом на данный момент, поскольку она поможет гарантировать, что все реализации останутся совместимыми.
А как насчет Enterprise Ruby?Это было там уже некоторое время.