2007年05月30日(水) [過去の今日]
#1 PHPが嫌われながら生き残る3つの理由
phpspotのひどい正規表現サンプル記事に対するはてブの反応 を見て、「PHPは生き残る」ことを確信にまで深めた。しかし、ただ生き残るのではない。嫌われながら生き残るのだ。その理由を書いてみよう。
@ 1. PHPは簡単に書けてきれいに書けない:
これは多くのPHPプログラマが実感しているだろう。PHPはさくさくと書ける一方、メンテナンスを考慮してきれいに書こうと思うとなかなかきれいに書けたものではない。Perlほど柔軟な構文でもなく、Rubyほどきれいな構文でもない。PHPを嫌う理由の筆頭にあがってもいい項目である。だがとりあえず書けば動く。これは大きい。
@ 2. PHPの実装はひどいがとりあえず動く:
バージョンごとに仕様がごろごろ変わる、セキュリティホールだらけ等々。とにかくひどいものである。それでもPHPは速いと信じてる人もいるが、実はPerlより圧倒的に遅い。CLIで動かしてみるとわかるが、単純ループだと軽く3倍の速度差が出たりする。mod_phpが高速なためか、ウェブ経由ではそこまで差はでないのだが、ループ量を増やすとPerl/CGIより遅かったりする。だが実際にはそんなひどい処理はさせないだろうし、mod_perlなどと違ってとりあえずファイルを置くだけで動くという気軽さは捨てがたい。特に初心者には受けがよろしいであろう。
@ 3. PHPのユーザー層は低レベルだが敷居が低い:
最大の理由はこれである。冒頭の例を見てわかる通り、PHPはユーザー層のレベルがかなり低い。しかしこれは同時に敷居の低さも表している。そりゃいきなり こんな正規表現 見せられたら引くだろう。本当は正しくなくても、「自分にもわかる感」が感じられれば、チャレンジしてみようという気にもなる。それが初心者ユーザーを引きつける魅力になる。ユーザー層のレベルが低いからこそ、新規ユーザーが取りこめるのである。
@ というわけで:
PHPはデメリットも多いが、そのデメリットこそが初心者を引きつける魅力になっている。そういう一面も少なからずある。だからこそGeek層との解離も激しく、誤解を修正する人にも恵まれないままコミュニティが育っていくという面もある。それがまた初心者への敷居の低さに繋がる。
だからPHPは生き残るだろう。大量の初心者ユーザーに支えられて。だが同時にそのレベルの低さ故に、嫌われ続けるのも間違いないのである。
だから言いたい。PHPしか知らない人は、PHPを一通り書けるようになったら別の言語をやるべきだと。PerlでもRubyでもJavaでもいい。プログラマにとって言語は道具だ。多様な道具を使いこなしてこそ本物ではないか。
そして他の道具を触る事で、愛用の道具のいいところも悪いところも見えて来る。以前よりずっと上手に付き合えるようになる。
それはあなたを、プログラマとしての、エンジニアとしての幸福に、導いてくれるはずである。
(@725)