Foo Campで私が最初に行ったのは、「GoogleのRailsクローン」と題するSteve Yeggeの講演だった。このタイトルを見てどうして聞かずにいられようか?
Googleはプログラミング言語として、C++、Java、Python、JavaScriptの4つを使っている。WebのフロントエンドをJavaで書きたがる人がそういるとは思えないが、それはWebフロントエンド用のJavaコードをたくさん持っているGoogleにしても 同じだ。
Googleにおける開発者の生産性を引き上げるため、Steveは会社にRails(したがってRuby)を言語として採用するように訴えたが、それが叶わないとなると(Googleはインフラでサポートしなければならない言語の数を増やすのをとても嫌っている)、 彼は欲求不満のプログラマがみんなするだろうことをした。RailsをJavaScriptに 移植したのだ。1行1行、6ヶ月で、2000時間かけて。Steveはまったくコーディングの絶倫男だ。
SteveのコードはRhino JavaScriptエンジン上で動き、Rhino自体はJVM上で動く。彼はその過程でいくつかバグの修正や、セキュリティの大幅な強化も行っている(教訓: 移植の場合であっても、フレームワーク開発の早い時期にセキュリティ機構に取り組むことで、後に生じることになる痛みと時間を大きく減らすことができる)。それがNext Big Languageになると表明していることからも、SteveがいかにJavaScriptに惚れ込んでいるかわかるだろう。
そうなるのかもしれない。EcmaScrikpt 4で取り入れられるオプショナルな静的型は、彼のRails実装のパフォーマンスを大きく引き上げるだろう。
ほんとうにクールだ。いい話を聞かせてくれてありがとう!
home rss | John Lamについて |