現在最も注目されているWebアプリケーション・フレームワークRuby on Rails。その作者であるDavid Heinemeier Hansson氏(通称DHH氏)が日本Rubyカンファレンス2006(関連記事)のために来日した。「JavaやPHPでは書けなかった美しいコードが書けるから」---Hansson氏はRubyを開発言語として選んだ理由をこう語る(聞き手はITpro編集 高橋信頼)

---なぜRubyを選んだのですか。



[画像のクリックで拡大表示]
 以前,JavaやPHPでコードを書いていました。しかし,JavaやPHPでは美しい(Beautiful)コードを書くことができず,不満を感じていました。そんな時に(リファクタリングなどで知られる)達人プログラマMartin Fowler氏がRubyを紹介した記事を読み,自分で使ってみて,Rubyは美しいコードを書くことができる,プログラマをハッピーにする言語だと感じたのです。

 2003年の夏に,37signalsというサイトで「Basecamp」と呼ぶ,Webベースのプロジェクト管理ツールを開発しました。Ruby on Railsはそのために開発したフレームワークで,最初は公開するつもりはなく,内部だけで使用していました。

 しかし,自分にとって非常に便利だったので,もしかしたら他の人にとっても役立つのではないかと思い,2004年7月にRuby on Railsのバージョン0.5をRubyメーリング・リストで公開しました。その時点ではまだ完全ではなかったのですが,多くの方が使ってくれパッチを作ってくれ,PostgreSQL向けのDBアダプタなど多くのモジュールを開発してくれる人も出てきました。そして2005年12月に1.0を公開しました。

---Ruby on Railsはどれだけ普及しているのでしょう。

 Ruby on Railsはすでに60万件以上ダウンロードされました。またRailsについての書籍「Agile Web Development with Rails」(David Heinemeier Hansson氏とDave Thomas氏の共著,邦訳は「RailsによるアジャイルWebアプリケーション開発」,オーム社刊)は4万部になりました。Railsのメイン・メーリング・リストには1日約200メッセージが投稿され,活発に議論が交わされています。

 また6月22日からシカゴでRailsの初のカンファレンスRailsConf 2006が開かれます。とても急速に普及していると感じます(参考:Ruby on Rails公式サイトのRails利用サイトリスト)。

---Railsが受け入れられた理由は何だと思いますか。



[画像のクリックで拡大表示]
 容易さと開発スピードだと思います。たとえばRuby on RailsにはWeb開発に必要な全てが1つのパッケージに含まれており,開発者がモジュールを集める必要はありません。アプリケーションを修正しても再コンパイルしたりデプロイメントする必要はなく,素早くアプリケーションを開発,修正していくことができます。

---Ruby on Railsにはconventions over configurationと,DRY(Don't Repeat Yourself)という設計思想があります。

 従来の環境では膨大なXML設定ファイルを記述する必要がありました。Railsでは規約(conventions)に従って,自動的に設定が行われます。それがconventions over configurationです。たとえばpeopleというクラスを定義すれば,規約に基づいて自動的にその単数形であるpersonと関連付けられます。設定ファイルを記述する必要はありません。

 同じことを繰り返して記述しなければならないと,うんざりします。また設定を変更するにも多くの箇所を変更する必要が出てきます。DRY(Don't Repeat Yourself)の原則によってRailsでは同じことを繰り返して記述する必要をなくし,開発者をもっと生産的にします。

---生産性が高いこと,Ajaxアプリケーションが作りやすいことなどから,Ruby on RailsはWeb 2.0のプラットフォームと言われます。

 Web 2.0の意味を正確に理解しているかどうかわからないのですが,Web開発のさまざまなアイディアを集めて試すという動き,多くの人がRuby on Railsをその一部と感じていてくれることはとてもうれしいですね。

 ただ,もっとうれしいことは,人々がWebアプリケーションに再びエキサイトして,Webアプリケーションを開発することグルーヴを感じている,その興奮を共有できることです。

---日本のRubyコミュニティをどうご覧になりましたか。

 とても素晴らしくフレンドリーで,ここに来れたことは大きな喜びです。多くのRailsのコントリビュータと話をすることができ,さまざまな要望も聞くことができました。今後,日本とUSのRubyコミュニティの橋渡しができればと思っています。