2006年04月14日 12:58 [Edit]

PHPを他の言語が見下す理由

実はPerl Communityというのは、言語コミュニティの中では、PHPを含め他の言語を見下すことが一番少ないcommunityだと思う。

F's Garage:昔、2ちゃんとかでよくあった、Perl = C++ , PHP = VBってな感じ?
PerlのCPANとそこにいる開発者が優秀なのはすごく理解するけど、どの辺がPerlがPHPに対する優位性があるんでしょうか。本気で知らないので教えて欲しい。(PHPではむりぽなマルチスレッドアプリが云々とか、そういうところでの技術論があればキボーン)

Perlほど他の言語と仲良くしようとしている言語はもしかしてないのではないか。例えばInlineのようなことを他の言語はしているだろうか。Cによるスクリプト言語の拡張というのも実はPerl5が嚆矢で、この辺はRubyやPythonも上手に盗んでいるけど、さすがにInlineモジュールに相当するものはほとんど見当たらない。Haskellをもてはやす一方で、同じAudreyによるVisual Basic最高!というスライドがあるのも忘れてはならないだろう。

そう。Perlは何とでもくっつきたがる、まさにglueだ。

その中で、PHPはPerlバインディングも用意したりとなかなか頑張っているのだけど、構文がperlに似ているということもあってか、Perl Hackerから見れば「じゃあ最初からPerlでいいじゃん」となることも多い。mod_perlを使えば、<?php ?><?perl ?>にするのも難しくないし、なによりテンプレートが何種類も選べる。そんなこともあって、Perl Hackerが「あえて」莫迦にする時にPHPを選ぶというのもわからぬでもない。

何と言っても、PHPは現在のところ汎用ではなく、Web Server専用だということもある。この領域は広大ではあるが、島には違いない。Webアプリだけがソフトウェアではないのだ。殺速度はなかなかではあるが複殺度に欠けるのは否めない。

似たような状況はJavascriptにも言えるが、これはPerl-PHPのような「相関度」の高いものは実はあまりない。名前に騙されては行けない。使ってみればわかるが、JavascriptとJavaよりも、JavascriptとPerlの方が実はずっと近い。だからHackerの目同じDomain Specific Language(DSL)でも、Javascriptの方に目が向きがちだ。spidermonkeyのおかげで今やserverでも少し遊べるし。

そういう意味で、PHPは電脳言語というよりはテンプレートに見えるのだ(いや、実際そうだろう)。しかし、この領域がいかに広大だったかという大いなる証明ではある。別に卑下する必要はない。だけれども、島に閉じ込められているという意識は必要かも知れない。

Dan the Lingophilia


この記事へのトラックバックURL

この記事へのトラックバック
YAPC::Asia 2006のまつもとゆきひろさんのスライドでPHPの場合PH...
PHPのコマンドラインインターフェイスを使ってみる【throw new CybozuLabsException()】at 2006年04月14日 14:32
[PHPを他の言語が見下す理由 - 404 Blog Not Found][404] とか[F's Garage:昔、2ちゃんとかでよくあった??...
PHPは何故ダメか【memo-space】at 2006年04月15日 00:37
何と言っても、PHPは現在のところ汎用ではなく、Web Server専用だということもある。この領域は広大ではあるが、島には違いない。 これはマジか釣りかわかんないんですけど,tcpserver合わせてdaemon作って実運用していたり,cronでガンガンPHP CLI SAPI動かしまくっちゃって...
[PHP] PHPはWeb Server専用【よくきたはてダ】at 2006年04月15日 00:57
なんか、会社に行っても家でRSSリーダー開いてもPHPだね。今日は。 PHP ...
それでもPHPが好きでない理由【ratio - rational - irrational】at 2006年04月15日 02:04
... 実はPerl Communityというのは、言語コミュニティの中では、PHPを含め他の言語を見下すことが一番少ないcommunityだと思う。F's Garage:昔、2ちゃんとかでよくあった、Perl = C++ , PHP = VBってな感じ?PerlのCPANとそこにいる
404 Blog Not Found【人気Blogランキング[今週14位]】at 2006年04月17日 17:27
この記事へのコメント
RubyにもInlineシリーズはありますよ、Perlに「インスパイア」されて。
Posted by まつもと at 2006年04月14日 17:38
PHPは、もともとPerlで作られてたんですよね。
Posted by boguspokesman at 2006年04月14日 19:17
PHPはもともとPerlで実装されてますね。
http://www.php.gr.jp/php/phpfi2/doc-j.html
Perlのテンプレートエンジンのような感じでしょうか。
それをパフォーマンスの向上や機能追加をしていった結果、言語のような状態になり、いつの間にかPHP自体にテンプレートエンジンが開発されるような状況に・・・
「島に閉じ込められている」というよりも、島を巨大化させてきた感じじゃないでしょうか。そのうちPHPのテンプレートエンジンが言語化したりするのかも。
Posted by 通りすがり at 2006年04月15日 01:48
私は元々Perlを使ってましたが、Perlに文法が似ているのだけれどクラスまわりはC++やJavaに近く、文法的に馴染みやすいということでPHPを使い始めました(最初の頃Perlのオブジェクトまわりの文法に馴染めなかったので)。

ただ、PHP使ってるとCPANのアーカイブの量は羨ましい限りです。WebServerを離れてテキスト処理なんかでは、今でもPerlを使っていますが(Perl4の頃の使い方...)、<>や$_を使って簡単に書けるのがやっぱりラクでよいです。

Posted by kztomita at 2006年04月15日 13:39