Java vs Ruby (or RIFE vs Rails) -- Matzにっき (2005-03-21) より
んー、僕が読んだところ、Geert Bevin(Bla-bla Listを実装した、Rails懐疑派)の主張は大きく2つ。
- DHH(David Heinemeier Hansson、Ruby on Railsの産みの親)の、コード量うんぬんのマーケティング手法は気に入らん
- 設定ファイルは面倒だけど、長期的な開発には役に立つんじゃないのか?
Geertは言語やフレームワークの優劣がどうのって話はしていない。
http://rifers.org/blogs/gbevin/2005/3/19/revisting_a_rails_app_in_rife
デビッド、俺はどっちのテクノロジーが優れてるとかいうつもりはない(君はそうする癖があるみたいだけど)。俺はRailsのこと、さっぱりわかんないし、君もRIFEのこと全然知らないんだから。
David, I'm by no means saying that our technology is better or that yours sucks (however you seem to have a habit of doing so). We just can't make a decent comparison since you don't have the slightest clue about RIFE, just as I haven't got got the slightest clue about Rails, we both at best just skimmed the surface.
でもさ、俺がこうして証明してみせた今、コード量がどうのこうのって話は止めた方がいいんじゃないの?
You can now however stop making your useless out-of-context lines of code statements, since they simply don't hold up anymore and make you look silly.
こうも、Geertは言っている。
http://tech.rufy.com/entry/19#comment-113
俺が嫌いなのはRailsのまわりの根拠のない喧伝なんだよ。俺はRailsがいいフレームワークだと思ってるし、いいところは自分でも取り入れようって思ってる。でも、デビッドが馬鹿げたLoCのスクリーンショットで反論してきたのは子供じみてる。
All my reactions have always been driven against the foundationless marketing hype surrounding Rails. Again, I’m pretty sure it’s a good framework and as I previously said. There are things I like and will probably even borrow, just as I borrowed from Cocoon, Seaside, Tapestry, Webwork and Php. The hype is childish though. Just look at the silly LoC screenshots that David made as a reply … summarizes the whole attitude perfectly imho.
個人的にはRailsが好きだけど、この議論自体はRails派にちょっと問題があったと思ってる。
Geertが問題視してるのは言語(フレームワーク)上の問題と言うより、DHHのマーケティング手法。DHHは必要以上にJ2EEフレームワークの冗長性(特にXML設定ファイルの多さ)を引き合いに出してRailsをプロモーションしてきた。「Ta-da ListをJavaで実装するには10倍の時間と、3倍のコード量がかかる」等など。彼のプロモーション力がなかったらRailsがここまで浸透していなかったのは間違いない。必要不可欠なプロモーションだけど、嫌悪感を持つ人が多いであろう手法(Javaも同じことをしてきた訳ですが)。ある意味、今回のように、つっこまれてもしょうがない。
Geertは、コード量を判断材料として優劣を語ることに懐疑的。その反ばくとして「Ta-da Listは見た目は良いけど機能には失望した。こんなの作るのに600行(ソースが公開されていないので、DHHの言い分による。おそらく、rake statsのCode LOCで判断したコード量)もかかるんだったら、Railsってそんなに生産性が高くないじゃん。同じようなの、RIFEでもコード量は同じくらいで作れるよ」って彼の
ブログで書いた。
これに対し、Rails派の人が「言ってるだけじゃなくって、じゃあ、実装してみろよ」と反論、Lucas Carlsonなんかは「あんた、ウェブアプリを組んだ経験はあるの?」なんてGeertに聞いちゃう始末(すぐにフォローを入れたけど)。。。
で、Geertは実装しちゃったと。開発期間2日、752行のJavaコードと155行のXMLで。おまけに機能拡張して、Ta-da Listのバグまで見つけてくれちゃって。
Rails派のそれへの反論が、
DHH自身を含め、確かに「そんなところで比較してもしょーがない」って感じの単純なコード例を引き合いに出したものばかり。開発者としての技量は、確かにGeertの方が、多くのRails派の人よりも上に見える。
DHHは自己のマーケティング手法に自覚的なのか、
当初のエントリ以来、この件に関してダンマリを決め込んでいる。Ta-da Listを実装した彼にしか、有効な反論ができないであろうにもかかわらず。。。また、DHH自身のブログ(Railsのブログはそのまま)からBla-bla Listのコード量がうんぬんと書いた問題のエントリを削除してる(と思う)。
フレームワークが代わりにコードを書いちゃっているわけだから、フレームワーク上でのコード量をうんぬんしても、それほど意味がないのは明白。問題は、XMLでの設定ファイルなんだと思う。DHHは、設定ファイルが多すぎるStruts(および、他のJ2EEテクノロジー)へのアンチとして、Railsを開発した。Geertの主張は、設定ファイルは面倒だけど、それは長期的な開発には役に立つんじゃないか?ってもの。
Railsのコンセプト自体は、PofEAAで紹介されているようなJ2EEのウェブ開発技法を、もっと手軽に、個人開発者でも全体を把握しながら適用できるようにすること。Railsで学んだコンセプトを、J2EE開発に適応することができるはず。その意味で、RailsとJ2EEのうまいブリッジができれば良いと思う(ManningのCode Generation in ActionはRubyとJ2EE開発とのうまい関係性を探っている)。
Geertはレスが非常に早く、ちょっと異常性を感じるけど、言ってる事自体はそんなにめちゃめちゃじゃない(BasecampとTa-da Listが嫌いってハッキリ言い過ぎ。こんなの作ってるのがRailsの開発者なんだからどうなのよ?って言うのは、かなり言い過ぎ)。正直、Railsが注目されて、RIFEがさっぱりな状況が悔しいんだろうなー。少なくとも、今回の件は、RIFEのプロモーションになってる。
Basecampにしても、Textmate(エディタ)にしても、DHHの巧みなマーケティング手法ゆえか、好意的なユーザコメントばかり。Geertのような根拠ある意見は、Rails開発者にとって、自己を冷静に見つめる、良いきっかけになると思う。Railsで作ったアプリなら、なんでも素晴らしいって発想は、もうそろそろ止めてもいい時期だ。
参照:
Re: Hype: Ruby on Rails
Bla-bla: Ta-da in Java (and Laszlo and RIFE)
Re: Bla-bla List: Revisting a Rails app in RIFE
Bla-bla List: Cloning a Rails app in RIFE