hirax.net::Tech-logs::2009-10-29

2009-10-29[n年前へ]

MacRuby 0.5ベータが登場。 

 MacRuby 0.5ベータが登場。JIT、AOT、GCDサポート、GILの削除を実現

 MacRuby 0.5の最初のベータがリリースされた。現在のところ、Snow Leopard (MacOS X 10.6) マシンでのみ利用可能になっている。
 最終的なMacRuby 0.5のリリースは、LeopardとSnow Leopard上で、32ビットモードと64ビットモードのどちらでも動くようになる予定だ。

 「MacRuby」 - ひさしを借りて母屋を乗っ取るか? Mac OS Xの新たなRuby環境

 Leopardの登場以降、Mac OS Xではスクリプティング言語環境のサポートが活発だ。(中略)Rubyに関するものとしては、RubyからCocoaを含む様々なフレームワークへのブリッジを提供する、RubyCocoaが標準でインストールされている。

 そして去る2月28日に、新しいRuby環境が登場した。MacRuby である。MacRubyの動機として挙げられているのは、RubyCocoaが抱えている問題を解決する、というものだ。RubyからCocoaへアクセスするという目的はRubyCocoaと同じものだが、その実装のアプローチはかなりユニークで意欲的なものになっている。
 なんと、RubyのルートクラスたるObjectクラスが、Objective-CのルートクラスであるNSObjectを継承しているのだ。(中略)それに加えて、RubyのString、Array、Hashといった基本的なクラスは、さらに特別な階層が割り当てられている。それぞれ、CocoaのNSString、NSArray、NSDictionaryというクラスから継承されているのだ。
 通常の言語間のブリッジであれば、Rubyの文字列からCocoaの文字列へと変換を行わなくてはならない。だが、MacRubyではすべてのRubyオブジェクトはCocoaのオブジェクトであり、Rubyの文字列はCocoaの文字列である。従って、変換のコストなしでこの呼び出しを行えるのだ。