現在進行中のお仕事。軽く作れそうな企画だったので、勉強がてら初Rubyでやってみたわけですよ。でも慣れてきたらあまりにサクサク進んでしまうので、あれもこれもと作り込んでしまって、結果、一人で作ったWebアプリとしては過去最大規模になってしまった(受託ではないのでまあ良い)。今更ながら思ったのは、RDBMSとのインピーダンスミスマッチがオブジェクト指向を妨げているという話。それはドメインモデル万歳!で設計した場合であって、ドメインモデルを使わないと決めたら全然重要じゃないな。SQLバリバリでもオブジェクト指向ならではの再利用可能なコンポーネントの作りやすさのメリットは十分受けられる。

ところで昨日も書いたように、今、執筆関係で、各種言語で同じ処理をする小さなプログラムを作ってみたりしてるのだけど、残念ながらRubyは遅いかも。でも作りやすさ、見通しの良さでは最強。そしてPerlは(結構)速い。でもPerlでクラスを作る気になれない。my $class = shift; bless $self, $class;とか、謎すぎるからです。C++、PHP、Perlのような後付のオブジェクト指向はどうもしっくりこない。でもJavaはRubyと比べるともう低級言語。

速度はmod_ruby+考えて作ればRubyでもほとんどのケースで問題ないと思うけど、ガチガチにパフォーマンスを求める場合はやっぱりmod_perlだろうか。パフォーマンスが必要な機能箇所を動かすためだけにJavaというのも大げさだし。