PHP vs Java vs Ruby
Sun GPLv2’ingというJavaのイベントでのTim Brayさんのスピーチについて書いた興味深い記事。
なおTimさんは去年PHPカンファレンスでもスピーチを行っているとのこと。
彼は言語の質を表向きだけ見て相対的に4つの指標で示している。
1) Scalability, 2) Dev Speed, 3) Dev Tools, and 4) Maintainability

その中でも彼はメンテナンス性(保全性)に重要度を置いている。
ここでつたない英語力ながら彼のメンテナンス性に関する引用を訳してみたい。
それは、メンテナンス性を向上させるのに多くの時間を割かなければならないからだ。
メンテナンス性は良いアプリケーションを作る上で大変重要なのだ。
メンテナンス性の向上には多くのやり方があるが、私はオブジェクト指向やMVCアーキテクチャー、コードの読みやすさ、コードサイズ縮小を挙げたい。
そしてメンテナンス性という点において彼はRoR(Ruby On Rails)を押している。
なぜRoRを薦めるのか、次の引用で語っている。
またRubyではMVCアーキテクチャで作られなければならなく、これはメンテナンス性を向上させる。
さらに、テンプレート化やORM、テスト方法やコードがしっかりと統合されていることも手助けとなっている。
以下のことを心に留めて置いてください。
私たちはRailsがCRUDを中心とした未開発地域(その中でRailsは輝き始めているが)、そこから抜け出してうまく利用されている例をまだ知らないことを。
これらの指標や彼の発言には偏りがあり、セキュリティーといった別の指標も考慮すべきである。
彼は最後に「いずれにせよ全ては統合されなければならない。」と結論づけている。
けれどもJavaやPHPやRubyといった選択肢があってこそ、言語は進化していくものである。
互いに刺激し合い、競争してこそ同時に高みを目指せる。
事実オープンソースは、Javaや.Netのサポート力に匹敵する力を持っている。
だから全てが統合されることよりも明るい未来をオープンソースは切り開くんじゃね?
って感じでしょうか、このブログの結論部分は。
まあ自分としては、実践で使われる言語は少ないほうがうれしい。
はてなはPerlでウノウはPHPとかって何かとめんどいと思う。
でもWEB全体で眺めたら、PerlもPHPもお互いに刺激している部分も多く、良い方向に向かう気もする。
その点で、上記のブログに賛成。
あと、同じ処理をJava、PHP、Perl、Rubyで書いている記事を発見。
これだけ見るとどうしてもJava長えーって思ってしまうね。
この点について『ハッカーと画家』のポール・グラハム氏もJavaをやたら批判してたし。
でもまあ色々。
» Tim Bray元資料「ISSUES IN WEB FRAMEWORKS」