«前の日記(2005年03月20日) 最新 次の日記(2005年03月22日)» 編集

Matzにっき


2005年03月21日 [長年日記]

_ [Ruby] Java vs Ruby (or RIFE vs Rails)

ことの発端は、theserverside.comで Geert Bevinが「Ruby on RailsはJavaの10倍の生産性とは本当か」と提起したことだ。

彼はRailsの典型的アプリケーションであるTa-da Listを JavaとRIFE frameworkを使い、

  • 行数はTa-da Listより300行多い(50%増)
  • 開発期間は2日(サーバ側)
  • いくつかの機能追加とバグフィックスを行った

というBla-bla Listを作ったのだった。 ついでに、GeertはTa-da Listのセキュリティ問題も発見している(すでにfixされている)。

ま、Rails効果ってのは、Rubyを使っているという点以外には、 徹底してDRY (Don't Repeat Yourself)を実践することで実現されているので、 同じような設計思想のWebアプリケーションフレームワークがあれば Javaだろうが似たような生産性を実現できてもなんの不思議もない。 DHH(Railsの作者)がRailsに対してやったのと同じマーケティングを、 GeertはRIFEに対して試みたと見なすのが自然だと私は思った。

ところが、これに対して

  • Railsの10倍の生産性とは信じられない、というRails懐疑派
  • Rails効果は本物だ、というRails擁護派
  • Rubyの求人なんかないじゃんか、というJavaビジネス派
  • (Bla-bla Listの使っている)Laszloは駄目だ、というアンチLaszlo派
  • いずれにしてもFUDはヤメロ、というアンチFUD派
  • 「本物の」アプリケーション開発にRubyのような「スクリプト言語」は不十分、 Javaのような「本物の言語」が必要だ、というJavaラブ派(or アンチスクリプト言語派)

が絡み合って、コメントが伸びる伸びる。おまけにDHHも参戦した。こちらは(ソースは公開されていない)Ta-da ListとBla-bla Listでソースを並べて、Railsによるアプリケーションの簡潔性を示していた。

それに対するGeertの返事。要約すると「一番極端なところを比較してもしょうがない」ということ。説得力があるようなないような。

その後も議論は止まらない。最後には「〜じゃないか」「そんなことは主張してない」と泥仕合風味。

見かねたLucas Carlson(Rails派)が、 「Ruby vs. Java: A matter of taste」という記事を自分のブログに書いた。これは視点の違い、趣味の違いだとする公正なもの(だと私は思った)。

それでもまだ議論は収まりきっていないようだが、 いやあ、みんな自分のフレームワークを愛しているからこんなにもめるのか、 それとも「マーケティング」手段になにか根本的な間違いがあるのか。

個人的には、「スクリプト言語では不十分」という主張が気になった。 この主張に関する話はなんとなく尻切れトンボで終わってしまったのだが、 結局「遅いから」ってことなんだろうか。 そればかりでもないように感じられたのだが、具体的な指摘は出なかったなあ。

もちろん速度的な問題はあるけど、それ以外でRubyでは無理で、 Javaならできることなんてないような気がするけど。


«前の日記(2005年03月20日) 最新 次の日記(2005年03月22日)» 編集