今回のゲストは『達人プログラマー』『プログラミングRuby』(注1)などの著書で知られるDave Thomas氏。日本Ruby会議2007(6月9日~10日)の前日、六本木のカフェで行われた対談、さて、どんな話題が飛び出すでしょうか…。
Ruby&Rails
弾:Rubyに出会ったのはいつですか?
Dave:1999年です。
弾:早いですね。
Dave:私はいろんなプログラミング言語を必ず試してみるタイプで、たいていは30分もすると、これはダメっていう感じになるんだけど、Rubyは30分経っても1時間経ってもまだ使い続けてて、それでAndy[2]に「お前も使ってみろ」と。それがRubyとの出会いです。そのあとは、ずっとRubyばっかり使っています。
弾:ブログでErlang[3]のことも書いてますね。
Dave:最近は両方使ってます。Erlangのよいところは、Rubyととっても違うこと。Rubyが不得意なことはErlangが得意だし、その逆もまた真なり。
弾:Matz[4]さんとの馴れ初めは?
Dave:Matzさんとの出会いは『Programming Ruby』の出版がキッカケで、そのあとずっとやりとりしてます。
弾:私もMatzさんとブログでやりとりしてるんですが、MatzさんはRubyと同じくらいおもしろい対象だと思います。
Dave:まったくそのとおりで、RubyはMatzさんの性格を反映したもの。Matzさんの受けた教育とか宗教とか、そういうものが全部反映されたものがRubyです。
弾:日本でも最近とくに人気が出ているRubyですが、アメリカではどうですか?
Dave:もっと人気があります。初めは全然知られてなくて、英語のドキュメントもほとんどなかったんですけど、Ruby on Railsが出てから勢いが変わって。Railsに関しては、アメリカの勢いが日本に輸入されているようなところもあるのでしょう。
弾:Railsとの付き合いはいつから?
Dave:2年前からになるんですけど、Webアプリケーションを書くやり方としては、これだと思って。そういうわけで本を書くことにして、それからRailsとの関係はずっと続いています。
弾:Railsの弱点は?
Dave:それは簡単です。あまりにWebアプリケーションというものを簡単に見せてしまったことでしょう。Railsのビデオを見ると、本当に誰でもWebアプリケーションを作れるんだっていう気になります。それで動くものはできるんですけども、きちっと動かし続けられるようなものを作るというのは別問題ということを忘れちゃうわけです。だから、Railsの人気が出てから、不安定なサービスというのがいっぱい出てますけども、それが理由だと思います。
弾:Railsを利用したサイトとして有名なのがTwitterですが、入力画面が猫になることでも有名になりましたね。
Dave:彼らは彼らのやっていることをちゃんとわかってます。わかっているけれども、これほどあっという間に人気が出るというのは、これはもう誰にもわからないから、あれはあれでしかたがないでしょう。
弾:Rails以外のRubyはどう思われてますか?
Dave:まず、教育用の言語としてRubyは最適です。それから、DSL(Domain Specific Language)の実装用としても最適。あとは、MatzさんのRuby以外のRuby実装が出てきているのも、すごくよいことです。
弾:では、Rubyの弱点はどこでしょう?
Dave:1つは、Rubyは遅いと思われていることです。実際にまぁ、まったく同じようにプログラムすると、Rubyはほかの言語よりも遅いことが多いんですけど、それ自体は問題ではないと思います。ただし、そう思われているということが問題です。あともう1つは、Ruby 2はどんな姿になるのかが、現時点ではよくわからない。その辺を、今回のRuby会議で、明らかにできたらなというふうに思っています。
弾:Matzさんにもし何かがあったら、今のRubyはどうなると思います?
Dave:Pythonでは(作者のGuido van Rossum氏が)バスにぶつかったらどうだろうという質問がありましたが、現時点ではRubyCentralのほうでしっかりできるでしょう。
Rubyコミュニティ
弾:Perlコミュニティと比べると、Rubyコミュニティはすごくまとまって見えますね。
Dave:それはRubyコミュニティがまとまって見えるんじゃなくて、Perlの場合もうすでに、Larry(Wall)(注5)以外に開発者がいっぱいいるから、そういう風になっているんじゃないでしょうか。
弾:それを加味してもなお、Rubyのほうがまとまって見えるというのはなぜ?
Dave:Rubyプログラムというのはだいたいこの辺に収まっているというのがわかりやすいんだけど、Perlの場合はどっちも優れたPerlで、どっちもPerlにしか有り得ないというプログラムなのに、全然違うものに見えるものもあるんじゃないかっていう、まさにそれこそPerlの問題なんです! 賢くなるのもOKというのがRubyの立場だけども、賢くないと問題だよねっていうのがPerlの立場です。
Dave Thomasさんメッセージ入り WEB+DB PRESS限定Tシャツ
30名様にプレゼント!
The Pragmatic Programmerシリーズ邦訳書籍も多数プレゼントあります!!
詳しくは「WEB+DB PRESS Vol.40」15ページをご覧ください。また、こちらのアンケートページからも応募できます。