Rubyのエンジン部分であるVM(仮想マシン)「YARV(ヤルフ)」を開発した笹田耕一氏。笹田氏はRubyの開発に専念するため、大学教員の職を辞した。現在はRuby PaaSベンダーHerokuに所属し、フルタイムでRubyを開発している。笹田氏に、Rubyの高速化への取り組みなどについて聞いた。

(聞き手は高橋 信頼=ITpro


 なぜRubyのVMを開発したのですか。

 もともと学生の時に、大学の実習でJava VMをC++で開発していたんです。Rubyを始めたのは大学4年生の時。2002年くらいですね。新しい言語をやってみたくて、あるRubyの本を読んだのですが、私の理解力が至らず、最初はさっぱりわかりませんでした。今は便利に使っています。

 ある学会で、GC(ガーベージコレクション)のセミナーがあって。まつもとさんがGCについて講演して、講演が終わったら私の隣に座られて。それがまつもとさんとの初の対面です。まつもとさんに「Rubyのネイティブスレッド対応はどうするんですか」と話をしたら「いやー、なんとかしたいね」とおっしゃったのを憶えています。結局、後で自分がそれをやることになるわけですけど。

 そういったことがあって、2004年の1月1日にRubyのVMを作り始めました。当時、RubyのVMはすでにいくつかあったので、YARV(Yet Another Ruby Vm)と名付けました。

まつもと氏によれば、VMはいくつかあったが、Ruby本体のエンジンとして採用できるまでに完成度を高めたのはYARVだけだったと。

 そうですね。苦労したのはブロックをどう実現するかでした。これは結構大変で、まる1カ月。作っては壊し、作っては壊しを繰り返しました。

 YARVは結局、博士論文になりました。また、IPAの2004年と2005年度の未踏ソフトウェア創造事業にも採択されています。Rubyに正式に採用されたのは1.9からで、2007年に正式リリースされました。