それでもPHPが好きでない理由

なんか、会社に行っても家でRSSリーダー開いてもPHPだね。今日は。

PHP 言語デザイナー ってどうよ? というのは丁度、今日会社で愚痴を言ったばかり。

PHPを他の言語が見下す理由 は違うぞ。PHPにもちゃんと コマンドラインインターフェースはあるPHPは別にweb専用っていうわけじゃない。うちの、今のプロジェクトでもdaemonを3個、PHPで書いてあるし、隣のプロジェクトでは数年前の資産であるところのバックエンドのシステムがまるごとPHPだ。webに戻っても、テンプレートエンジンもCPANには劣るかもしれないけれどちゃんと選ぶ余地がある。

でもね。それでもね、PHPは好きになれない。20世紀も終わりのころにPHP3を触って以来、今回のプロジェクトで7年ぶりぐらいにPHPを触ったけれど、知れば知るほど、中途半端にPerlに似ていて気持ち悪い。Rubyを触り始めた頃endが気持ち悪かったり、Pythonを触り始めた頃インデント強制が気持ち悪かったりしたけれど、それとは違う。構文は一通り思い出して、PEARに入ってるソース読んで、Smartyいじくってソース読んで、やればやる程違和感は増すばかり。慣れれば何とかなるという感じではなさそうだ。

問題は、哲学の欠如だ。それがコメントの構文に端的に表れている気がしてならない。TIMTOWTDIとか、驚き最小の原則とかそういうのだ。Perlに似てPerlでないからには、Perlの哲学を塗り替える程に強力で一貫した哲学がなければならない。そうして、自分の世界を構築しなければ「Perlでいいじゃないか」ということになる。文字列比較がeqでない理由を首尾一貫した原則から演繹できなければならない。

別に、PHPが良くないと言ったつもりはない。PHPが良くないとすれば、Matzのいうところの型の「強弱」「動的/静的」という軸において「弱-動的」だから良くないのだ。哲学が欠如していると言ったのはあくまでも私の好みの問題であって、より正確を期すならば「私と波長の合う哲学性が欠如してい」て、故に「生理的に受け付けない」。

だから、処理性能なども鑑みて、「弱-動的」のリスクを受けいられるならPHPも悪いとは言わないけれど。でも好悪のレベルにおいては私は「好きでない」。そしてそれは、「生理的に受け付けない」ものであって慣れれば何とかなる性質ではなさそうだ。