Рубиновый МРТ - Ruby MRI

Рубин
Ruby-logo-notext.png
Разработчики)Юкихиро Мацумото (среди прочих)
изначальный выпуск04.08.2003[1]
Стабильный выпуск
2.7.0 / 25.12.2019[2]
Репозиторий Отредактируйте это в Викиданных
Написано вC
Операционная системаКроссплатформенность
ТипИнтерпретатор языка программирования Ruby
ЛицензияРубиновая лицензия
Упрощенная лицензия BSD
Стандартная общественная лицензия GNU (до 1.9.3)
Интернет сайтwww.ruby-lang.org
Юкихиро Мацумото, создатель Ruby.

Рубиновый интерпретатор Маца или же Рубиновый МРТ (также называемый CRuby) был эталонная реализация из Язык программирования Ruby назван в честь создателя Ruby Юкихиро Мацумото («Мац»). До спецификации языка Ruby в 2011 г.[нужна цитата ] реализация МРТ считалась де-факто ссылка, тем более что самостоятельная попытка создать спецификацию (RubySpec ) не удалось.[3] Начиная с Ruby 1.9 и продолжая с Ruby 2.x и выше, официальный интерпретатор Ruby был YARV («Еще одна Ruby VM»).

Последняя стабильная версия - Ruby 2.7.0.[4]

История

Юкихиро Мацумото («Мац») начал работу над Ruby 24 февраля 1993 года и представил его общественности в 1995 году. «Рубин» был назван драгоценным камнем из-за шутки в кругу друзей Мацумото, намекающей на имя Perl язык программирования.[5]

Ветвь 1.8 поддерживалась до июня 2013 года,[6] и 1.8.7 выпускаются с апреля 2008 года.[7][8] Эта версия содержит исправления ошибок, а также множество улучшений функций Ruby.

В RubySpec Project независимо друг от друга создал большой набор тестов, который фиксирует поведение 1.8.6 / 1.8.7 / 1.9 как эталонный инструмент соответствия. Ruby MRI 1.9.2 прошел более 99% RubySpec.,[9] MRI Ruby 2.2 разбился на одном из тестов. В результате ограниченного использования разработчиками MRI проект RubySpec был прекращен в конце 2014 года.[3]

Условия лицензирования

До выпуска 1.9.3 интерпретатор и библиотеки Ruby распространялись как с двойной лицензией свободный и Открытый исходный код программное обеспечение под Стандартная общественная лицензия GNU или Ruby License.[10] В выпуске 1.9.3 лицензия Ruby была изменена с двойной лицензии с GPLv2 на двойную лицензию с Лицензия BSD с двумя пунктами.[11]

Операционные системы

Ruby MRI доступен для следующих операционные системы (поддерживаемые версии Ruby могут быть разными):

Этот список не может быть исчерпывающим.

Производительность PowerPC64
Начиная с версии 2.2.1,[12] Выполнение МРТ Ruby на PowerPC64 был улучшен.[13][14][15]

Критика

Обычно отмечаемые ограничения включают:

Обратная совместимость
Версии 1.9 и 1.8 имеют небольшие семантические различия.[16] Выпуск Ruby 2.0 стремился избежать такого конфликта между различными версиями.[17]

Многопоточные программы не могут использовать более одного ядра ЦП из-за Глобальная блокировка интерпретатора.

Смотрите также

Рекомендации

  1. ^ "Вышел Ruby-1.8.0!". Получено 12 января 2018.
  2. ^ «Выпущен Ruby 2.7.0». Получено 7 января 2020.
  3. ^ а б Брайан Шираи (31 декабря 2014 г.). «Разработчики Matz Ruby не используют RubySpec, и Ruby причиняет боль». Рубиниус блог. Получено 16 ноября 2015.
  4. ^ «Выпущен Ruby 2.7.0». ruby-lang.org. 2020-01-07. Получено 7 января 2020.
  5. ^ Брюс Стюарт (29 ноября 2001 г.). «Интервью с создателем Ruby». linuxdevcenter.com. О'Рейли. Получено 22 февраля 2014.
  6. ^ shyouhei (30 июня 2013 г.). «Мы убираем Ruby 1.8.7». ruby-lang.org. Получено 22 февраля 2014.
  7. ^ Муша, Акинори (26 мая 2008 г.). «Ruby Core: выпущен Ruby 1.8.7-preview4». Получено 2008-05-30. Новая версия Ruby включает в себя множество исправлений ошибок, множество улучшений функций и некоторые улучшения производительности, начиная с версии 1.8.6, при этом сохраняя стабильность и обратную совместимость с предыдущей версией в высокой степени, хотя есть постоянные усилия, которые необходимо предпринять для принятия RubySpec. .
  8. ^ «1.8.7 НОВОСТИ». Получено 2008-05-30.
  9. ^ Югуи (18 августа 2010 г.). «Выпущен Ruby 1.9.2». ruby-lang.org. Получено 22 февраля 2014.
  10. ^ «Рубиновая лицензия». ruby-lang.org. Получено 22 февраля 2014.
  11. ^ "Новости выпуска Ruby 1.9.3". ruby-lang.org. Получено 22 февраля 2014.
  12. ^ Густаво Фредерико Темпл Педроса, Витор де Лима, Леонардо Бьянкони (2015). «Выпущен Ruby 2.2.1». Получено 12 июля 2016.CS1 maint: несколько имен: список авторов (связь)
  13. ^ Густаво Фредерико Темпл Педроса, Витор де Лима, Леонардо Бьянкони (2015). "Журнал изменений v2.2.1". Получено 12 июля 2016.CS1 maint: несколько имен: список авторов (связь)
  14. ^ Густаво Фредерико Темпл Педроса, Витор де Лима, Леонардо Бьянкони (2014). «Указание энергонезависимых регистров для увеличения производительности в ppc64». Получено 12 июля 2016.CS1 maint: несколько имен: список авторов (связь)
  15. ^ Густаво Фредерико Темпл Педроса, Витор де Лима, Леонардо Бьянкони (2014). «Указание MACRO для увеличения производительности в ppc64». Получено 12 июля 2016.CS1 maint: несколько имен: список авторов (связь)
  16. ^ Рик ДеНатейл (26 декабря 2007 г.). «Выпущен Ruby 1.9». Infoq.com. Получено 22 февраля 2014.
  17. ^ Юсуке Эндо (24 февраля 2013 г.). «Выпущен Ruby 2.0.0-p0». ruby-lang.org. Получено 22 февраля 2014.

внешняя ссылка