RubyコードをJavaに変換するコンパイラー「FastRuby」
FastRubyはRubyをJavaに変換するコンパイラーです。
Rubyは1.9系になり、高速化されました。現在開発中の2.0系になればさらに高速化されるでしょう。そんな中、さらに高速な実装を目指しているのがFastRuby、RubyからJavaに変換するソフトウェアです。
[](http://images.moongift.jp/2012/12/Screenshot 2012-12-19 14.28.04.png)
実行します。
[](http://images.moongift.jp/2012/12/Screenshot 2012-12-19 14.32.00.png)
生成されたJavaのコード。
筆者環境ではJavaを実行するとエラーになってしまいましたが、RubyのコードからきちんとJavaが生成されました。JRuby向けに書かれたコードをJavaに変換することで、さらにコンパイルして実行速度を高めるという仕組みのようです。
FastRubyはJava製のソフトウェア(ソースコードは公開されていますがライセンスは明記されてません)です。
MOONGIFTはこう見る
言語の壁を乗り越えるようなプロジェクトが最近の流行かも知れません。JavaScriptで作られた各言語のVMであったり、FacebookはPHPの高速化のためにC++へ変換するHipHop for PHPがあります。QuercusはPHPをJavaに変換します。
スクリプト言語では一般的に型がなくとも使えるので、自動変換するというのは相当に大変なことですが、コンパイルすることによるメリットは大きいと思われます。さらなる速度を求める際には試してみても面白そうです。