2011-12-08

PHPは◯◯◯である

本当にPHPについて知りたい人は、別のところに行くことをすすめる。moriyoshiさんのスライドや、Lerdorfオジサンのページなんかがオススメ。

PHPは歯ブラシである

PHPの発案者であるRasmus Lerdorf氏はこう言っている。

PHPは歯ブラシくらい興奮に値する。シンプルで、毎日使う便利な道具。だからどうした。歯ブラシについて書物を漁るやつがいるか?

PHP is about as exciting as your toothbrush. You use it every day, it does the job, it is a simple tool, so what? Who would want to read about toothbrushes?

PHPが他の言語と決定的に違うのは、作者およびコミュニティが、言語に対して道具以上の感情を抱いてないことだ。PHPほど、コアユーザーがあっさりと言語のダメさを認める言語はない。言語のダメさなぞは百も承知だというわけだ。それでもウェブサイトを書くには手軽だから使い続けるし、改造し続けるわけだ

歯ブラシが大して面白みもないのと一緒で、PHPも大して面白みのない言語だが、カンタンなウェブサイトを書かせたら右に出るものはいないと思うし、複雑なサービスも、きちんとしたフレームワークがあれば、保守性を持って記述できる。Wikipedia・Tumblr・Facebook・Zynga・Instapaperは全てPHPで書かれている。FacebookなんぞはPHPとの愛憎劇の末、自分たちで新たに処理系(Hiphop for PHP)を作ったくらいだ。

もう一点歯ブラシと似ているのは、意外と汎用性があるということだ。みんなPHPというとウェブサイト制作を考えるかもしれないが、別にやろうと思えばウェブとは無関係のプログラムも書ける。歯ブラシで、風呂場のタイルの溝を掃除できたりするのと一緒だ(と言ってみる)。

PHPはパーソナルホームページである

今でこそPHPはPHP Hypertext Preprocessorという無限再帰の略だと言っているが、これは完全な後付けの説明で、もともとはPersonal Home Pageの略だ。Rasmus Lerdorfが、パーソナルホームページ作成のツールとして作ったものが、PHPの原型となっている。ソフトウェアの世界は様々な略語であふれているが、PHP = Personal Home Pageほどダサイものはなかなかない。

PHPは大衆主義である

一昔前、著名なエンジェル投資家でハッカーのPaul Grahamが書いたエッセーで、"The Python Paradox"というものがある。「マイナー言語であるPythonが使えるプログラマーは、自ら進んで新しいソフトウェアや言語を使ってみる意欲的なプログラマーが多い。よって、仮に会社でPythonを使っていなくても、Pythonができるプログラマーを募集すると、結果的に優秀なプログラマーが集まる」という話だ。これはまだPythonがマイナーだった2004年の話で、今はPythonプログラマーは一定の需要があるから、Pythonができるからといって意欲的なプログラマーだとは限らない。Rubyで有名なMatzによれば、今はHaskell Paradoxというそうだ。純粋関数型言語1のHaskellはPythonとは比べ物にならないほど敷居が高いので、10年後もHaskell Paradoxは健在だろう。

おっと話が逸れた。PHPの話だった。もうおわかりかもしれないが、"PHP Paradox"なんてものは存在したことがない。当たり前だ。PHPは、まだ人気がなかったころから、全力でその平易さを訴えてきたのだ。「ウェブサイトをカンタンにつくりたいならPHPを!」というわけだ。"PHP Paradox"なんてものが存在してしまったら、商売あがったりである。あくまで大衆主義なのがPHPの本懐だ。

PHPはドラマである

ぼくが以前訳した記事で、「ぼくはこうしてプログラミングを覚えた」というものがある。はてブで週間総合2位までいった超人気訳だ。

なぜそこまでこの話がウケたのか。ご本人のシンデレラストーリーが読者の心に響いたのと、Facebookきってのエースエンジニアとしての的を射たアドバイスが奥深かったからというのは明らかだろう。しかし忘れてはいけない。そう、彼はPHPエンジニアなのだ。

メイン州の片田舎に生まれ、PHPという歯ブラシだのアホだの言われている言語を究め、Facebookのエンジニアとして掴んだ富と名声。PHPのダメ具合が、うまくレバレッジをかけているような気がしてならない。

PHPは蒼井優である

ぼくは仕事の関係で、今年になってからPHPを使い始めたのだが、あえて若手女優に例えるならば蒼井優なような気がしてならない。以下少し共通点を。

  1. ちょっと昔の感じがする。蒼井優は1985年生まれだが、どう考えても昭和の顔だ。PHPは1995年生まれだが、文法は80年代生まれのC++やら、C++から文法を大分かっさらったJavaにやたらと似ている。これも「C++/Javaならみんな知っているし、文法を似せれば使ってもらえそうだ」みたいな大衆主義の表れじゃないかと思っている。同時期に出たRubyや数年年上のPythonの方が、はるかに先鋭的な文法を有している。
  2. なんだかんだいって知名度は高いが、熱烈なファンは少ない。断っておくが、ぼくは蒼井優の大ファンである。PHPも嫌いじゃない。
  3. 肩の力が抜けている。蒼井優は、「リリィ・シュシュのすべて」の岩井俊二監督とのインタビューで、「将来どんな女優になりたいのか」と 聞かれた時、こう答えたそうだ。「何言ってんですか、こんなのただの思い出づくりですよ。」PHPも似たようなもんだ。「将来どんな言語になりたいのか」と聞かれたら、PHPはきっとこう答えるに違いない。「何言ってんですか、こんなの言語じゃなくて、ただのテンプレートエンジンですよ。」

以上、いつもに増した駄文。


  1. ヘンタイという意味である。

Creative Commons License