IT-WEB -- MCタイチ

PHPは何故こんなに叩かれながら、こんなに使われるのか?2008-03-04

PHPは定期的に叩かれるそうですが、今回の騒ぎの発端はどうやら、Ruby開発者のまともと氏のブログみたいですね。

PHPがいかに駄目な言語か

彼はPHPを「おかしなコードを書くことを助長する言語」 と考えているようですが、具体的にどの辺がそうなのか、彼の記事からはわかりませんでした。

次の記事でも安全なWebアプリのために言語ができること、としてリストアップされてるもののうち、どれをPerlやRubyがクリアしていて、どれをPHPがクリアしていないのかは書いていません。で、最後に

htmlspecialchars($_GET['text']);

とか平気でやっちゃうような環境で安全なコードが書けるはずが無い

って?なんじゃそりゃ。そんな捨て台詞で終わってしまったら、「感情的にPHPを貶している」と取られても仕方が無いでしょう。ましてや(複数の人が指摘するように)Rubyの開発者である彼が言ったら「Rubyの宣伝かよ!」という反応が来るのは当然です。

例えて言うなら、東芝のHD-DVDの開発PLが「BR-Discのここがおかしい」なんて書いたら、「自社宣伝ですか?」とか「負け惜しみかよ!」と炎上するのと同じです。それに対して「そんなこといってないもんねー、ただ技術的見解を述べただけだもんねー」なんて言っても通用しないでしょ。

このように、発言者の立場で受け取られ方が違うのは当然なんですが、それが判らないとしたらプログラム言語よりまず自然言語を学ぶべきですね。

とまあ、話が脱線しましたが、本件はあのマッチョなダンコーGUY(by分裂さん)さんにも飛び火した(飛びついた?)ようです。

「PHPなめんな」と「(Perl|Python|Ruby)をなめんな」の違い

・・・だから学び続けやすい言語に魅力を感じる。PerlもRubyも、最近ではJavaScriptもそうだ。C/C++とLisp/Schemeは一生もの の師という感じがする。Haskellはこの両方の師の薫陶を受けた「若い師」で、いろいろなことを学び直させてもらっている。しかし、PHPには「教 官」までしか感じない。

ああー、何だか哲学や〇×道みたいになってきましたね。「一生ものの師」ですか・・・まあこのあたりが我々のようにプログラムを道具として割り切る人間との違いなんでしょうね。

道具とはすなわち手段なんです、つまり目的は別にある。プログラムを組んでナイスなWEBサイトを作りたい、とか、プログラム(ROM)を組みこんでクルマを気持ちよく走らせたい、とか、会社の受発注業務を楽にかつ確実にこなしたいとか。なので、道具自体には特にこだわりが無く、簡単に使えればそれでいい(逆にややこしいのは勘弁)と思ってます。

PHPの良さは、何といってもWEBサイトで多くの人がやりたいなと思うことが、簡単にできるようになっている点でしょう。例えばフォームからメールを送りたいとか、DBにユーザ情報を蓄積したいとか、ファイルをアップロードしたいとか、別に生粋のプログラマじゃなくても思うはず。PHPではそうした機能が予めビルトインされているので、面倒な手続き抜きにできます。

ところが、まつもと氏あたりはその辺が気に入らないみたいですね。セキュリティ上の問題を挙げていますが、根底にはもっと根深いものがあるような気がします。オタクな人たちはプログラミングに人生をかけており、言語への愛や信仰心を語る。なので、そういったプログラム道の精神を理解しない初心者が、適当なコードを書いて公開するのが許せないのではないでしょうか。「お前ら試合なんて10年早い、素振り千回やって来い!」みたいな。言い換えると、プログラム自体が自己目的化してしまっているのではないかと。

よって、信者ではない普通の人にとっては、そのあたりが「キモイ」「ウザイ」んだと思います。例えば何処かのQ&Aで「〇〇がしたい」と方法を聞いたとしても、「その聞き方がなっとらん」とか、基幹技術について長々と講釈するとか、そういう傾向ってあるんじゃないでしょうか?

その点、PHPのコミュニティーでは、こちらの説明が拙くても、やりたいことやその人のレベルをある程度察知して、大体のアドバイスをしてくれる人が多い、というのが僕の最初の印象でした。勿論、別の場所あるいは時代によってはそうではないかも知れません。ただ、PHPを使う人は(プログラム経験の多少に関わらず)おおよそ道具に対してはドライで、目的から入っている人が多いのではないか、と分析したりしています。

もっと言えば、PHPの開発者(名前は忘れました)自体が、「便利だからこんなの作ってみたよ」って軽い乗りだったのではないかと想像します。「プログラム言語とはかくあるべし」とか「俺の超クールでいけてる言語で世界を変えるんだ!」などと大げさな意気込みは多分無かったでしょう。それゆえに言語として見ると弱点だらけで哲学も無い、適当さが目立つものかも知れませんね。

ある意味、PHPがプログラム道の師匠や求道者から「クソ言語」と叩かれている間は、堅気の人間には親しみやすい言語であってくれるような気がします。

↓↓ ♥ ♥ ♥ Share this post ♥ ♥ ♥ ↓↓