読者です 読者をやめる 読者になる 読者になる

本当は怖い情報科学

情報系大学院生の趣味&実益ブログ。

もうdisりブームも終わりですね:『PHPは、的を絞れていないブランド無き商品のようなもの』って事と、増田のエントリーに思うこと

PHPを嫌いな理由を一言で説明すれば、それは「製品として出来が悪い」からだ。

PHPは、「さくっとWebアプリを作るツール」として優れているか?

PHPを擁護する人たちの中で理性的な議論をする人の意見を大雑把にまとめれば、
PHPが、言語仕様とか実装の詳細とかに難があるのは知っているけど、簡単にさくっとページが作れるんだから、それはそれで使いどころがあって、要は適材適所でしょ」
というものだと思う。そういう気持ちは非常に良くわかるし、確かに筋が通った話だ。

しかし、それに対して僕が思うのは、PHPは、『簡単にさくっとページが作れる』道具として、優れているか?」ということだ。簡単にさくっとページが作れるというために継続的に改善をしているか?工夫を続けているか?考え続けているか?

答えはNOだと思う。最近のPHPの進化を見ると、Javaの真似みたいなオブジェクト指向を拡張したり、いろいろやっている。PHPは汎用プログラミング言語になろうとしているのか?決して、「簡単にページが作れる」という特長を伸ばすための拡張をしているとは思えない。

プログラムが本業で無い人がプログラムを書くためのツールとして優れているか?

あるいは、こういう議論もある。
「世の中には、そんなに本格的なプログラミング言語なんていらない仕事もたくさんある。デザイナとか、本業のプログラマでない人がちょっとプログラムを書ければそれで用は足りるんだ」

これも非常に筋が通った話だ。もう一度同じ質問をしよう。PHPは、『デザイナや本業でないプログラマがちょっとプログラムを書く』という道具として優れているか?」

同じく、答えはNOだ。これは、よくネタにされるこんな言葉に象徴されている。「デザイナってやつらは、ループの概念もわからんのか」

デザイナの仕事はデザインをすることだ。デザイナがテーブルやページの構造を組み立てるのに、なぜ「ループ」なんていう概念を理解しなきゃいけないのだ?デザイナの仕事はプログラムを書くことではなく、彼らには彼らの仕事があるのだ。PHPは「HTML生成ツール」であるというが、もしそうなら、普通のプログラミング言語としての普通の文法しか持っていないことは、怠慢でしかない。より良い「HTML生成ツール」になるための努力と工夫をしているか?

結局、PHPとは何者なのかわからない

PHPは何になりたいんだろう?何を目指したいんだろう?たぶん、そのポリシーの無さというか、方向性の不明瞭さがPHP嫌いを増やす要因なんだろう。敷居の低いプログラミングのもう一つの雄であるJavascriptは、PHPに学んだのかどうかは知らないが、明確な方針を打ち出している。すなわち、「本格的なプログラミング言語になる」ということだ。その方針自体の良し悪しは別として、着実に、信念を持ってその方向へ進んでいる。

折りしも、MicrosoftがYahoo!に買収提案というニュースが流れた。ポータルサイト、という存在以上のものをアピールできず、Googleや新興SNSに対して明確な強みを見せらない中途半端なサービス内容で業績の低迷が続いたYahoo!PHPを全面的に採用していることは、僕には皮肉に感じられる。

どんどん面白いアプリを作って欲しい、けど

僕は、PHPを使っている人をdisっているわけではない。むしろ、そういう人たちは犠牲者だと思っている。初心者でも、アイデアさえあれば、どんどん面白いプログラムを作ってどんどん公開して欲しいと思う。ただ、そのための言語として、PHPを勧めることはできない。

しかし、それと同時に他に選択肢が無いのも事実。これは悲しいことだ。

HTMLに組み込む形で記述できて、いろんなプロバイダとかサーバーとですぐに使える、という条件を満たすのはPHPしかない。残念ながら。だから今は、みんなで「例えば、PHPを避ける」って叫び続けるしかない。初心者を萎えさせても、萎縮させても、それでも言い続けるしかない。

まだ、インターネットとWebサイトっていう世界と技術は未熟で、誰でも簡単に面白いサービスが世界に公開できるっていう状態じゃない。

ごめんなさい。

僕は全然偉くもなく、何かを代表しているわけでもないけど、それでも一人のプログラマとして「ごめんなさい」って言わずにはいられない。

だから、誰でもアイデアさえあれば面白いアプリを公開できるような世の中にしなきゃいけないと思う。今の僕では技術力不足でそんなすごいソフトウェアとかPHPの代替実装みたいなのがすぐに作れるわけじゃないけど。でも、考え続けて、何年か後にそんなソフトを作ることができたら、少しだけどこのインターネットに「恩返し」できるのかな、と思った。

【広告】