ruby

rubyのMatz*1php(及びphp利用者)の批判をして炎上。Matz日記を読んだときには「もうちょっと自重しようよ」と思ったのは事実だが、まあそういうやや迂闊なキャラとして定着している人なので私はスルーした。でもphp好きの人はスルー出来なかったらしい。
私もhttp://kilrey.com/の方ではphpのコードを幾つか書いている。基本的にクライアント側はJavaScriptで、サーバ側はphpで書いている。単にCGIよりmod_phpの方が軽いからだ。phpの作法についてはさっぱりなのでかなり変なコードも書いていると思う。でも変なコードでもphpは動く。この「とりあえず動く」という点についてはphp以上のものはあまりない(私はperlも同列とみなしているが)。Cならコンパイルすら通らないような雑なコードでもそれなりに動くということはそれだけおかしな動きをしやすいということでもある。
個人的にはhtmlを出力するのが中心の言語だというのにhtmlを文字列ベースで作っている点がダメだと思う(DOM操作も出来るけども)。JavaScriptでもdocument.write()を多用するのはあまりよくないとされているし、実際のところdocument.write()よりもDOMの方が表現力も優れている。文字列ベースなんて単に危険なだけだ。もちろんこれはsqlでも同じことが言える。SQL文をそのまま実行するというモデルよりも、穴空きのSQL文を渡すとその穴を引数に取る関数を返すというモデルにするべきではないのか?さらに言えば条件や副呼び出しもベタ書きではなくて、相応のオブジェクトとして渡せば良いのでは?(プリペアド・ステートメントもあまり使っていない私が言うのも何だが)
というわけで私はphpが好きではない。好きなスクリプト言語のランキングだったらpython>JavaScript>>ruby>scheme>>e-lisp>awk>>php>perlという感じだ。基本的に言語にはコアの素性が良いことが最優先だろう。開発環境やライブラリの充実はその次だ。その辺りの順番が逆な言語は習熟するほどに足枷が多いように感じると思う。

*1:敬称略なのは公人だから。学者でも偉くなると呼び捨てにされるのと一緒。