Рубиновый МРТ - Ruby MRI
Разработчики) | Юкихиро Мацумото (среди прочих) |
---|---|
изначальный выпуск | 04.08.2003[1] |
Стабильный выпуск | 2.7.0 / 25.12.2019[2] |
Репозиторий | |
Написано в | C |
Операционная система | Кроссплатформенность |
Тип | Интерпретатор языка программирования Ruby |
Лицензия | Рубиновая лицензия Упрощенная лицензия BSD Стандартная общественная лицензия GNU (до 1.9.3) |
Интернет сайт | www |
Рубиновый интерпретатор Маца или же Рубиновый МРТ (также называемый 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 могут быть разными):
- Желудь ОС RISC
- Amiga
- BeOS / Хайку
- ДОС (32-битный)
- IBM i
- Интернет-планшет ОС
- Linux
- Mac OS X
- Майкрософт Виндоус 95/98/2000/2003 / NT / XP / Vista / 7/8/10
- Microsoft Windows CE
- MorphOS
- OS / 2
- OpenVMS
- Слог
- ОС Symbian
- Синий Джин / L ядро вычислительного узла
- Большинство вкусов Unix
Этот список не может быть исчерпывающим.
- Производительность PowerPC64
- Начиная с версии 2.2.1,[12] Выполнение МРТ Ruby на PowerPC64 был улучшен.[13][14][15]
Критика
Обычно отмечаемые ограничения включают:
- Обратная совместимость
- Версии 1.9 и 1.8 имеют небольшие семантические различия.[16] Выпуск Ruby 2.0 стремился избежать такого конфликта между различными версиями.[17]
Многопоточные программы не могут использовать более одного ядра ЦП из-за Глобальная блокировка интерпретатора.
Смотрите также
Рекомендации
- ^ "Вышел Ruby-1.8.0!". Получено 12 января 2018.
- ^ «Выпущен Ruby 2.7.0». Получено 7 января 2020.
- ^ а б Брайан Шираи (31 декабря 2014 г.). «Разработчики Matz Ruby не используют RubySpec, и Ruby причиняет боль». Рубиниус блог. Получено 16 ноября 2015.
- ^ «Выпущен Ruby 2.7.0». ruby-lang.org. 2020-01-07. Получено 7 января 2020.
- ^ Брюс Стюарт (29 ноября 2001 г.). «Интервью с создателем Ruby». linuxdevcenter.com. О'Рейли. Получено 22 февраля 2014.
- ^ shyouhei (30 июня 2013 г.). «Мы убираем Ruby 1.8.7». ruby-lang.org. Получено 22 февраля 2014.
- ^ Муша, Акинори (26 мая 2008 г.). «Ruby Core: выпущен Ruby 1.8.7-preview4». Получено 2008-05-30.
Новая версия Ruby включает в себя множество исправлений ошибок, множество улучшений функций и некоторые улучшения производительности, начиная с версии 1.8.6, при этом сохраняя стабильность и обратную совместимость с предыдущей версией в высокой степени, хотя есть постоянные усилия, которые необходимо предпринять для принятия RubySpec. .
- ^ «1.8.7 НОВОСТИ». Получено 2008-05-30.
- ^ Югуи (18 августа 2010 г.). «Выпущен Ruby 1.9.2». ruby-lang.org. Получено 22 февраля 2014.
- ^ «Рубиновая лицензия». ruby-lang.org. Получено 22 февраля 2014.
- ^ "Новости выпуска Ruby 1.9.3". ruby-lang.org. Получено 22 февраля 2014.
- ^ Густаво Фредерико Темпл Педроса, Витор де Лима, Леонардо Бьянкони (2015). «Выпущен Ruby 2.2.1». Получено 12 июля 2016.CS1 maint: несколько имен: список авторов (связь)
- ^ Густаво Фредерико Темпл Педроса, Витор де Лима, Леонардо Бьянкони (2015). "Журнал изменений v2.2.1". Получено 12 июля 2016.CS1 maint: несколько имен: список авторов (связь)
- ^ Густаво Фредерико Темпл Педроса, Витор де Лима, Леонардо Бьянкони (2014). «Указание энергонезависимых регистров для увеличения производительности в ppc64». Получено 12 июля 2016.CS1 maint: несколько имен: список авторов (связь)
- ^ Густаво Фредерико Темпл Педроса, Витор де Лима, Леонардо Бьянкони (2014). «Указание MACRO для увеличения производительности в ppc64». Получено 12 июля 2016.CS1 maint: несколько имен: список авторов (связь)
- ^ Рик ДеНатейл (26 декабря 2007 г.). «Выпущен Ruby 1.9». Infoq.com. Получено 22 февраля 2014.
- ^ Юсуке Эндо (24 февраля 2013 г.). «Выпущен Ruby 2.0.0-p0». ruby-lang.org. Получено 22 февраля 2014.