ЖелезоРубин
Оригинальный автор(ы) | Microsoft Dynamic Language Runtime Команда |
---|---|
Разработчик(и) | Фонд .NET |
Первоначальный выпуск | 31 августа 2007 г |
Стабильная версия | ЖелезоРубин 1.0
/ 12 апреля 2010 г |
Предварительный выпуск | ЖелезоРубин 1.1.3
/ 13 марта 2011 г |
Репозиторий | github |
Написано в | С# |
Операционная система | Windows , Linux , MacOS |
Платформа | .NET Framework , моно |
Тип | Компилятор языка программирования Ruby [1] [2] |
Лицензия | Лицензия Апач 2.0 |
Веб-сайт | www |
IronRuby — это реализация языка программирования Ruby, ориентированная на Microsoft .NET Framework . Он реализован поверх Dynamic Language Runtime (DLR), библиотеки, работающей поверх Common Language Infrastructure , которая обеспечивает динамическую типизацию и динамическую отправку методов, среди прочего, для динамических языков.
В настоящее время проект неактивен, последний выпуск IronRuby (версия 1.1.3) вышел в марте 2011 года.
История
[ редактировать ]30 апреля 2007 г. на выставке MIX 2007 Microsoft анонсировала IronRuby, который с разрешения использует то же имя, что и проект IronRuby Вилко Бауэра. [3] Его планировалось представить публике на OSCON 2007. [4]
23 июля 2007 года, как и было обещано, Джон Лам и команда разработчиков DLR представили предварительную альфа-версию компилятора IronRuby на OSCON. Он также объявил о кратких сроках дальнейшей интеграции IronRuby в сообщество открытого исходного кода. [5]
31 августа 2007 года Джон Лам и команда дизайнеров DLR выпустили код на стадии предварительной альфа-версии на RubyForge. [6] Исходный код продолжает регулярно обновляться основной командой Microsoft (но не при каждой проверке ). Команда также не принимает вклады сообщества в создание основной библиотеки Dynamic Language Runtime , по крайней мере, на данный момент. [7]
24 июля 2008 года команда IronRuby выпустила первую двоичную альфа-версию в соответствии с OSCON 2008. [8] 19 ноября 2008 г. они выпустили вторую альфа-версию.
Команда активно работала над поддержкой Rails на IronRuby. [9] [10] Некоторые функциональные тесты Rails начали выполняться, но еще нужно было проделать много работы, чтобы иметь возможность запускать Rails в производственной среде. [11]
21 мая 2009 года они выпустили версию 0.5 вместе с RailsConf 2009. С этой версией IronRuby мог запускать некоторые приложения Rails , но по-прежнему не в производственной среде. [12]
Версия 0.9 была анонсирована как OSCON 2009. [13] В этой версии улучшена производительность. [14] Версия 1.0 RC1 стала доступна 20 ноября 2009 г. [15]
Версия 1.0 стала доступна 12 апреля 2010 г. в двух разных версиях:
- Предпочтительный вариант, работающий на базе .NET 4.0.
- Версия с более ограниченными возможностями, работающая поверх .NET 2.0. Эта версия была единственной, совместимой с Mono . [16]
Команда IronRuby планировала поддерживать Ruby 1.8.6 только для выпусков 1.0, а версию 1.9 — только для предстоящих выпусков 1.x, пропуская поддержку Ruby 1.8.7. [17] [18]
В июле 2010 года Microsoft уволила Джимми Шементи , одного из двух оставшихся членов основной команды IronRuby, и прекратила финансирование проекта. [19] [20] В октябре 2010 года Microsoft объявила, что проекты Iron (IronRuby и IronPython ) были изменены на «внешние» проекты и позволяют «членам сообщества вносить свой вклад без участия Microsoft или спонсорства со стороны сотрудника Microsoft». [21]
Последний опубликованный выпуск IronRuby вышел 13 марта 2011 г. как версия 1.1.3. [22]
Архитектура
[ редактировать ]Поддержка моно
[ редактировать ]IronRuby может работать как в Mono , так и в Microsoft Common Language Runtime (CLR). [23] но поскольку команда IronRuby тестирует его только с CLR в Windows ., [24] он может не основываться на Mono в зависимости от сборки. [25] [26] [27]
Совместимость .NET
[ редактировать ]Взаимодействие между классами IronRuby и обычными классами .NET Framework очень ограничено, поскольку многие классы Ruby не являются классами .NET. [28] Однако улучшенная поддержка динамических языков в .NET 4.0 может повысить совместимость в будущем. [29] [30]
Поддержка Silverlight
[ редактировать ]IronRuby поддерживался в Silverlight . Его можно использовать в качестве механизма сценариев в браузере, как и движок JavaScript . [31] Скрипты IronRuby передавались как простые клиентские JavaScript-скрипты в <script>
-теги. Затем также можно изменить встроенную разметку XAML . [32]
Технология, лежащая в основе этого, называлась гештальт. [33]
//DLR initiation script.
<script src="http://gestalt.ironruby.net/dlr-latest.js" type="text/javascript">
//Client-side script passed to IronRuby and Silverlight.
<script type="text/ruby">
window.Alert("Hello from Ruby")
</script>
То же самое сработало и для IronPython . [34]
Тестирование инфраструктуры
[ редактировать ]IronRuby интегрировал RubySpec — проект по написанию полной исполняемой спецификации языка программирования Ruby. Репозиторий IronRuby Git включает копию тестов RubySpec, включая среду тестирования MSpec. [35]
Лицензия
[ редактировать ]IronRuby ранее выпускался под лицензией Microsoft Public License , которая является OSI сертифицированной лицензией в стиле BSD . [36]
16 июля 2010 года Microsoft повторно лицензировала IronRuby вместе с DLR по лицензии Apache License 2.0 . [37]
Дальнейшее чтение
[ редактировать ]- Фридман, Шей (2010). IronRuby на свободе . Издательство Самс . ISBN 978-0-672-33078-0 .
- Порто Карреро, Иван; Бурмистер, Адам (2010). IronRuby в действии . Публикации Мэннинга . ISBN 978-1-933988-61-0 .
См. также
[ редактировать ]- ЖелезоПитон
- Железная схема
- ДжРубин
- Ruby on Rails — платформа веб-приложений с открытым исходным кодом для Ruby.
Ссылки
[ редактировать ]- ^ С. Сомасегар . «Ранний взгляд на IronRuby» . Проверено 25 июля 2007 г.
- ^ «RubyForge: IronRuby: Информация о проекте» . Архивировано из оригинала 25 сентября 2016 года . Проверено 7 сентября 2007 г.
- ^ Вилко Бауэр. «Железный рубин Microsoft» . Архивировано из оригинала 29 сентября 2007 года . Проверено 24 июля 2007 г.
- ^ Джон Лам. «Майкрософт и IronRuby» . Архивировано из оригинала 12 июня 2007 года . Проверено 18 июня 2007 г.
- ^ Джон Лам. «Первый взгляд на IronRuby» . Архивировано из оригинала 26 июля 2007 года . Проверено 23 июля 2007 г.
- ^ Лам, Джон. «Железный Рубин на Рубифорже!» . Архивировано из оригинала 3 сентября 2007 года . Проверено 31 августа 2007 г.
Сегодня вы должны проверить исходный код в репозитории IronRuby Subversion на Rubyforge. Вам понадобится клиент Subversion; мы рекомендуем TortoiseSVN. Чтобы собрать исходники из командной строки, на вашем компьютере уже должен быть установлен Ruby.
- ^ Лам, Джон (29 апреля 2008 г.). «Что касается IronRuby… Насколько правдиво это звучит из этого блога» . Архивировано из оригинала 16 марта 2009 года . Проверено 25 мая 2008 г.
DLR не принимает взносы от сообщества (...) Сегодня мы не нажимаем на SVN при каждой успешной регистрации SNAP.
- ^ Лам, Джон (24 июля 2008 г.). «IronRuby на OSCON» . Архивировано из оригинала 7 августа 2008 года . Проверено 4 августа 2008 г.
Мы выпускаем нашу первую бинарную версию. В этом пакете мы применяем подход «батарейки включены» и поставляем в нем стандартные библиотеки Ruby.
- ^ «Железный Рубин на Рельсах» . Архивировано из оригинала 29 мая 2009 года . Проверено 25 мая 2008 г.
- ^ Лам, Джон (24 мая 2008 г.). «IronRuby r112 вышел» . Архивировано из оригинала 16 марта 2009 года . Проверено 25 мая 2008 г.
- ^ Лам, Джон (25 мая 2008 г.). «Вопрос IronRuby/Rails» . Архивировано из оригинала 17 марта 2009 года . Проверено 25 мая 2008 г.
Я не думаю, что мы еще близки к завершению игры :) Сейчас мы едва можем запускать функциональные тесты Rails, и нам предстоит проделать еще много библиотечной работы, прежде чем мы сможем начать думать о развертывании.
- ^ Шементи, Джимми (25 мая 2008 г.). «IronRuby на RailsConf 2009» . Проверено 25 мая 2008 г.
IronRuby, использующий Rails, не является чем-то новым, но делать это хорошо или полностью — это так. IronRuby теперь может запускать настоящие Rails-приложения, а не просто игрушечные примеры. Это не означает, что IronRuby on Rails готов к производству, но это отличный показатель прогресса.
- ^ «ЖелезныйРубин 0.9» . 23 июля 2009 года. Архивировано из оригинала 12 мая 2009 года . Проверено 3 августа 2009 г.
- ^ Канджано, Антонио (3 августа 2009 г.). «Сравнение производительности IronRuby, Ruby 1.8 и Ruby 1.9 в Windows» . Проверено 3 августа 2009 г.
- ^ «Железный Рубин 1.0RC1» . 20 ноября 2009 года. Архивировано из оригинала 21 декабря 2009 года . Проверено 29 декабря 2009 г.
- ^ «Примечания к выпуску IronRuby 1.0» . 12 апреля 2010 года. Архивировано из оригинала 16 апреля 2010 года . Проверено 17 апреля 2010 г.
IronRuby теперь выпускается в двух вариантах: один работает поверх .NET 4.0, а другой — на любой более ранней платформе, начиная с .NET 2.0 SP1. Вариант .NET 4.0 отличается более быстрым запуском, совместимостью с ключевым словом C# Dynamic и доступом к новым функциям .NET 4.0. Таким образом, вариант .NET 4.0 сейчас является предпочтительной загрузкой, поскольку Microsoft .NET Framework 4.0 с сегодняшнего дня является общедоступной. Для совместимости с Mono используйте ZIP-файл версии 2.0 SP1.
- ^ «Совместимость МРТ 1.8.7» . 12 февраля 2010. Архивировано из оригинала 28 сентября 2011 года . Проверено 6 марта 2010 г.
- ^ «Совместимость МРТ 1.8.7» . 14 февраля 2010. Архивировано из оригинала 28 сентября 2011 года . Проверено 6 марта 2010 г.
Выпуски IronRuby 1.0.x: совместимы ТОЛЬКО с Ruby-1.8.6; Выпуски IronRuby 1.x: совместимы ТОЛЬКО с Ruby-1.9.
- ^ «Это не ты, это я: Microsoft убивает IronRuby» . Инфомир . 11 августа 2010 года . Проверено 28 декабря 2012 г.
- ^ Шементи, Джимми (6 августа 2010 г.). « Начните распространять новости»: будущее Джимми и IronRuby» . Проверено 28 декабря 2012 г.
В целом, я вижу серьезный недостаток приверженности IronRuby и динамическому языку в .NET в целом. На момент моего ухода мы с Томасом были единственными сотрудниками Microsoft, работавшими над IronRuby.
- ^ Зандер, Джейсон. «Новые компоненты и участники для IronPython и IronRuby» . Майкрософт . Проверено 27 декабря 2014 г.
- ^ «ЖелезныйРубин 1.1.3» . IronRuby.codeplex.com. 13 марта 2011 года. Архивировано из оригинала 30 мая 2013 года . Проверено 19 мая 2013 г.
- ^ Мигель де Икаса (27 июля 2009 г.). «Улучшение совместимости Mono с .NET CLR» . Проверено 3 августа 2009 г.
Насколько мы помним, большинство новых версий IronPython, IronRuby или среды выполнения динамического языка обнаруживали новые недостающие функции в Mono.
- ^ Санхён, Со (6 августа 2008 г.). «ЖелезныйРубин и Моно» . Архивировано из оригинала 16 марта 2009 года . Проверено 13 сентября 2008 г.
- ^ Вандер Шелден, Вим (4 сентября 2008 г.). «ЖелезныйРубин и Моно» . Архивировано из оригинала 16 марта 2009 года . Проверено 13 сентября 2008 г.
- ^ Холл, Бен (23 января 2009 г.). «Ежедневные сборки DLR (включая IronRuby)» . Архивировано из оригинала 15 марта 2009 года . Проверено 23 января 2009 г.
- ^ Порто Карреро, Иван (26 мая 2009 г.). «моно сборки» . Архивировано из оригинала 23 февраля 2012 года . Проверено 5 июня 2009 г.
- ^ Хагенлохер, Курт (16 декабря 2008 г.). "Xna+IronRuby+RubyNewb=головная боль" . Архивировано из оригинала 16 марта 2009 года . Проверено 20 декабря 2008 г.
- ^ Братус, Роберт (12 декабря 2008 г.). «Привязка данных WPF с объектами Ruby» . Архивировано из оригинала 25 марта 2009 года . Проверено 13 декабря 2008 г.
- ^ «Динамический .NET — создание интерактивных карт Bing с помощью Silverlight и IronRuby» . Learn.microsoft.com .
- ^ IronRuby в браузере — IronRuby.net
- ^ «Создание WPF-приложения в IronRuby» . ИнфоQ .
- ^ Шементин, Джимми (22 июля 2009 г.). «Гештальт: Ruby и Python снова в браузере» . Проверено 19 января 2018 г.
- ^ «Silverlight: встраивание сценариев IronRuby/DLR в XAML с помощью IValueConverter и пользовательского пользовательского элемента управления | Крис Питшманн» . pietschsoft.com .
- ^ «РубиСпец» . Гитхаб . Проверено 23 октября 2010 г.
Репозиторий IronRuby GIT включает копию тестов RubySpec, включая тестовую среду MSpec, в папке External.LCA_RESTRICTED\Languages\IronRuby\mspec. Это позволяет легко изменять существующие тесты или писать новые тесты, а также исправлять ошибки в исходниках IronRuby — и все это за одну фиксацию в репозитории IronRuby.
- ^ Борт, Джули (14 апреля 2010 г.). «После трёх лет работы Microsoft IronRuby с открытым исходным кодом стал стабильным и доступным» . Сетевой мир .
- ^ «Лицензия IronRuby» . 16 июля 2010 года. Архивировано из оригинала 6 декабря 2010 года . Проверено 27 июля 2010 г.
Внешние ссылки
[ редактировать ]- Домашняя страница IronRuby
- IronRuby. Архивировано 30 декабря 2009 г. в Wayback Machine на Codeplex.
- Исходный код IronRuby
- Запись в блоге С. Сомасегара, анонсирующая IronRuby
- Состояние IronRuby , Джон Лам на RubyConf 2007
- IronRuby: правильный язык для правильной работы , Джон Лам на PDC2008
- Руби (язык программирования)
- Языки программирования .NET
- Бета-версия программного обеспечения
- Бесплатное программное обеспечение, написанное на C Sharp.
- бесплатное программное обеспечение Майкрософт
- Языки программирования Майкрософт
- Программное обеспечение, использующее лицензию Apache
- программное обеспечение 2007 года