Разработчики) | Юкихиро Мацумото (среди прочих) |
---|---|
Начальная версия | 04.08.2003 [1] |
Стабильный выпуск | 2.7.0 / 25.12.2019 [2] |
Репозиторий | |
Написано в | C |
Операционная система | Кроссплатформенность |
Тип | Интерпретатор языка программирования Ruby |
Лицензия | Лицензия Ruby Упрощенная лицензия BSD Стандартная общественная лицензия GNU (до 1.9.3) |
Веб-сайт | www |
Ruby Interpreter или Ruby MRI Матца (также называемый CRuby ) был эталонной реализацией языка программирования Ruby, названного в честь создателя Ruby Юкихиро Мацумото («Матц»). До спецификации языка Ruby в 2011 году [ необходима цитата ] реализация MRI считалась фактическим эталоном , тем более что независимая попытка создать спецификацию ( RubySpec ) потерпела неудачу. [3] Начиная с Ruby 1.9 и продолжая с Ruby 2.x и выше, официальным интерпретатором Ruby был YARV. («Еще одна Ruby VM»).
Последняя стабильная версия - Ruby 3.0.0 [4]
История [ править ]
Юкихиро Мацумото (« Мацумото ») начал работу над Ruby 24 февраля 1993 года и представил его публике в 1995 году. «Рубин» был назван драгоценным камнем из-за шутки в кругу друзей Мацумото, намекающей на имя Perl. язык программирования. [5]
Ветвь 1.8 поддерживалась до июня 2013 года, [6] и версии 1.8.7 были выпущены с апреля 2008 года. [7] [8] Эта версия содержит исправления ошибок, а также множество улучшений функций Ruby.
Проект RubySpec независимо создал большой набор тестов, который фиксирует поведение 1.8.6 / 1.8.7 / 1.9 как эталонный инструмент соответствия. Ruby MRI 1.9.2 прошел более 99% RubySpec. [9] MRI Ruby 2.2 разбился на одном из тестов. В результате ограниченного использования разработчиками МРТ проект RubySpec был прекращен в конце 2014 года [3].
Условия лицензирования [ править ]
До выпуска 1.9.3 интерпретатор и библиотеки Ruby распространялись как бесплатное программное обеспечение с двумя лицензиями и программное обеспечение с открытым исходным кодом, в соответствии с Стандартной общественной лицензией GNU или лицензией Ruby. [10] В версии 1.9.3 лицензия Ruby была изменена с двойной лицензии с GPLv2 на двойную лицензию с лицензией BSD с двумя пунктами . [11]
Операционные системы [ править ]
Ruby MRI доступен для следующих операционных систем (поддерживаемые версии Ruby могут быть разными):
- ОС Acorn RISC
- Amiga
- BeOS / Haiku
- DOS (32-бит)
- IBM i
- Интернет-планшет ОС
- Linux
- Mac OS X
- Microsoft Windows 95/98/2000/2003 / NT / XP / Vista / 7/8/10
- Microsoft Windows CE
- MorphOS
- OS / 2
- OpenVMS
- Слог
- ОС Symbian
- Ядро вычислительного узла Blue Gene / L
- Большинство разновидностей Unix
Этот список не может быть исчерпывающим.
- Производительность PowerPC64
- Начиная с версии 2.2.1, [12] производительность Ruby MRI на PowerPC64 была улучшена. [13] [14] [15]
Критика [ править ]
Обычно отмечаемые ограничения включают:
- Обратная совместимость
- Версии 1.9 и 1.8 имеют небольшие семантические различия. [16] Релиз Ruby 2.0 стремился избежать такого конфликта между различными версиями. [17]
Многопоточные программы не могут использовать более одного ядра ЦП из-за глобальной блокировки интерпретатора .
См. Также [ править ]
- YARV
Ссылки [ править ]
- ^ "Ruby-1.8.0 выпущен!" . Проверено 12 января 2018 .
- ^ «Выпущен Ruby 2.7.0» . Проверено 7 января 2020 года .
- ^ a b Брайан Шираи (31 декабря 2014 г.). «Ruby-разработчики Матца не используют RubySpec, и это вредит Ruby» . Блог Рубиниуса . Проверено 16 ноября 2015 года .
- ^ «Выпущен Ruby 3.0.0» . ruby-lang.org . 2021-01-03 . Проверено 3 января 2021 года .
- ^ Брюс Стюарт (2001-11-29). «Интервью с создателем Ruby» . linuxdevcenter.com . О'Рейли . Проверено 22 февраля 2014 года .
- ^ Shyouhei (30 июня 2013). «Мы удаляем Ruby 1.8.7» . ruby-lang.org . Проверено 22 февраля 2014 года .
- ^ Муша, Akinori (2008-05-26). «Ruby Core: выпущен Ruby 1.8.7-preview4» . Проверено 30 мая 2008 .
Новая версия Ruby включает в себя множество исправлений ошибок, множество улучшений функций и некоторые улучшения производительности, начиная с версии 1.8.6, при этом сохраняя стабильность и обратную совместимость с предыдущей версией в высокой степени, хотя есть постоянные усилия, которые необходимо предпринять для принятия RubySpec. .
- ^ «1.8.7 НОВОСТИ» . Проверено 30 мая 2008 .
- ^ Yugui (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: несколько имен: список авторов ( ссылка )
- ^ Рик DeNatale (26 декабря 2007). «Выпущен Ruby 1.9» . Infoq.com . Проверено 22 февраля 2014 года .
- ^ Юсуке ЭндоН (24 февраля 2013). «Выпущен Ruby 2.0.0-p0» . ruby-lang.org . Проверено 22 февраля 2014 года .
Внешние ссылки [ править ]
- Официальный сайт