2006年6月10日~11日に開催された日本Rubyカンファレンス2006に合わせて、Webアプリケーションフレームワークとして現在、圧倒的な人気を誇るRuby on Railsの作者、David Heinemeier Hansson氏(以下、DHH)が来日しました。連載第3回目は、カンファレンス翌日、都内某ホテルで行われた“ Dan the Perl monger” によるDHHインタビューをお届けします。DHHと弾さんの率直、明快なやりとりは、スリリングで刺激的なセッションとなりました。
撮影:武田康宏
Rubyを選んだわけ
弾: 最初の質問です。なぜRubyを選んだのですか?
DHH: 極端なことを言うと、Rubyが一番美しく自分のコードが書けるからです。
弾: Rubyの前に使っていたのは?
DHH: PHPとJavaです。でも、どんなにリファクタしても綺麗なコードが書けなかった。それまでは開発環境で選ぶような状況じゃなかったんだけれども、Basecamp[1] という新しいプロダクトの開発のとき、自分が開発環境を決められるようになり、それなら一番美しいソースコードを書ける言語にしようということでRubyにしたんです。
弾: そのときは、ほかの言語も検討したのですか?
DHH: PerlとPython、さらにSmalltalkも少し見ました。
弾: Pythonはどうでした?
DHH: プロダクションのレベルでは使いませんでしたが、一度Pythonのコードを書いてみたときに、コードが美しく見えなかったんです。ぼくはGuido[2] のテイストにはついていけなかった。
弾: Perlはどうでした?
DHH: いろんなPerlソースを見ていると、頭が爆発しそうでした。なぜかというと、どのコードを見てもスタイルがそれぞれ違って、正しいのはどれかがわからない。それぞれおもしろいんだけど、自己主張が激しすぎると感じました。一方で、Rubyで書いたものはどれも、同じことをする場合はだいたい似たように見える。この「統一感」がすごく重要でした。
弾: そして、Smalltalkは?
DHH: Smalltalkを使う場合は、IDE[3] はもとより何から何まで、自分が慣れ親しんだものを全部捨てないといけないような気がしました。Rubyは、今までの自分の経験を活かしつつも、自分にとって一番綺麗なコードを書ける環境なんじゃないかという結論に達したんです。
標準ではいっていることの重要さ
弾: なんだか言語選びというより、GeekがOS選びをしているような印象ですね。…そういえばDHHはOS X使いでしたよね。
DHH: そう。OS Xも他のOSと何が違うのかといえば、Rubyと同じく、趣味がいい。そういう趣味の良さというのは僕にとってはすごく大事なことです。
弾: でも、OS XでRailsを使うときには、Rubyをリコンパイルする必要がありますよね。
DHH: 最新版ではその辺はフィックスされてます。Rubyをインストールし直さなくても動きます。
弾: じゃあ、あとはRailsをインストールするだけでいいと[4] 。そういえばOS XってRubyだけじゃなくて、PerlもPythonもPHPも標準で入ってますね。
DHH: そう、「 標準で入ってる」っていうのはすごい重要。開発者の多くが、標準で入っていることの重要性がわかっていない。
弾: その意味でRailsはフルスタック[5] なんですね。
DHH: まさにそう。
弾: でも、開発にはまだPHPも使ってるんですよね。全面的にRailsにしたのではなくて。
DHH: PHPは今でも、ほとんどの部分がスタティック(静的)で、一部だけ、たとえばフッタとか、バナーとかダイナミック(動的)なものがあるシステムに関してはとってもいい言語だと思います。そういうアプリケーションをやるのであればPHPに敵うものはないです。
弾: それより複雑なもののために…。
DHH: RubyでRailsを作りました。それよりさらに高速が要求されるものにはそこをCで書けばいい…。
弾: ということはあなたは多言語主義者?
DHH: でも、なにもかも覚えるのはいや(笑) 。