IronRuby


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 представили на OSCON предварительную альфа-версию компилятора IronRuby. Он также объявил о кратких сроках дальнейшей интеграции IronRuby в сообщество с открытым исходным кодом. [5]

31 августа 2007 года Джон Лам и команда разработчиков DLR выпустили код на этапе предварительной альфа- версии на RubyForge. [6] Исходный код продолжал регулярно обновляться основной командой Microsoft (но не при каждой проверке ). Команда также не принимает вклады сообщества в основную библиотеку среды выполнения динамического языка , по крайней мере, на данный момент. [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]

Поддержка Silverlight

IronRuby поддерживался в Silverlight . Его можно использовать как движок сценариев в браузере, как и движок JavaScript . [30] Скрипты IronRuby передавались как простые клиентские JavaScript-скрипты в