IronRubyは、.NET Framework上で動作する、マイクロソフトによるRubyの実装である。 CLR 2.0/4.0上で動的型付けや動的メソッドディスパッチの機能を提供する動的言語ランタイムの上に実装されている。 現在ではApache License ver. 2.0のもと公開され、ユーザーコミュニティにて開発と管理がなされている。
歴史 IronRubyはWilco BauwerのIronRubyプロジェクトの名称を許可をとって使用している。2007年4月30日、MIX 2007において発表され、 2007で公開されることが予定されていた。2007年7月23日、約束どおりJohn LamとDLRの設計チームはIronRubyコンパイラのプレアルファ版をOSCONにて公開した。彼はまた、IronRubyを迅速にオープンソースコミュニティに提供すると発表した。
2009年5月21日 RailsConf 2009にてバージョン0.5を発表、Ruby On Railsのデモが行われた。 2009年7月2日 バージョン0.6公開。 2009年7月23日 OSCON 2009でバージョン0.9の発表と、1.0への道筋が示された。 2009年8月1日 バージョン0.9公開。主要な機能の実装は0.9で一度終了し、バージョン1.0.0リリースまで品質の向上が主な作業となった。 2009年11月2日 バージョン0.9.2公開。バグ修正とDLRの更新に伴う更新が主な修正点。 2010年4月12日 バージョン1.0.0公開。正式なリリースで、初の安定版となる。 2010年7月17日 ライセンスがそれまでのMicrosoft Public LicenseからApache License ver. 2.0に変更される。 2010年10月21日 IronRuby, IronPythonがマイクロソフトの管理下でなくなる事が示される。 2010年10月21日 バージョン1.1.1リリース。マイクロソフトとしての最後のリリース。このリリースよりVisual Studioへのアドオン機能が追加される。また、このリリースで互換性を持つRubyのバージョンが1.9.1とされた。 2011年2月7日 バージョン1.1.2リリース。コミュニティへの移管後の初めてのリリース。 2011年3月13日 バージョン1.1.3リリース。
IronRubyはRubySpecを元に実装されており、 GitHubにあるIronRubyのリポジトリにはMSpecテストフレームワークを使用したRubySpecのテストが含まれている。
Monoへの対応 IronRubyはマイクロソフトのCommon Language Runtime (CLR) ではないオープンソースソフトウェア実装であるMonoでも動作する。しかし、マイクロソフト管理下の時点でのIronRubyチームはWindowsのCLR上でしか動作確認を行っておらず、Mono上でのビルド確認は行われなかった。
Monoでのビルドに関してはGitHubのWikiに記述がある。
動作保証となっているランタイムのバージョン Version 1.0.0 .NET Framework 2.0 SP1 .NET Framework 4.0
Version 1.1 以降 .NET Framework 4.0 Silverlight 4
.NETとの相互互換性 Rubyからの視点だと、.NETのクラスはRubyのクラスではないので、そこでの相互運用性については限定的である。ただし、.NETのアセンブリの呼び出しや、.NETからのRubyスクリプトの呼び出しは他の環境に比べれば遙かに容易である。
ライセンス IronRubyは、BSDスタイルのライセンスに近いMicrosoft Public Licenseの下でリリースされていたが、2010年7月16日にIronRuby、IronPython、Dynami Language Runtime (DLR) はマイクロソフトによってApache License, v2.0に変更された。
関連書籍 Shay Friedman, "IronRuby Unleashed", Sam's, 2010, Ivan Porto Carrero and Adam Burmister, "IronRuby in Action", Manning, 2010,
関連項目 JRuby Ruby IronPython
外部リンク Codeplex IronRuby IronRuby IronRuby source code S. Somasegar's blog entry announcing IronRuby John Lam's IronRuby blog entry John Lam's IronRuby release blog State of IronRuby by John Lam at RubyConf 2007 IronRuby: The Right Language for the Right Job by John Lam at PDC2008
脚注