貶され続けているPHPで育った俺

 はてブの人気のエントリーを見ていると、PHPが貶す内容の記事が多いことに気づく。貶されている主な理由を見てみると、以下のようである。

  • 簡単に作れるので、初心者が脆弱性を含んだスクリプトを公開しまくってる。
  • オブジェクト指向が飾り。
  • 標準関数が多機能でうざい。
  • 変数の型が内部的には存在しているが、""も、NULLも、0も、array()も、==による比較では同じになるという神挙動。
  • CPANのように、開発したライブラリを他のプログラマに還元する習慣がない。

 今74thBBSスクリプトを公開しているが、これを書いた頃には俺にはPHPセキュリティの技術が全くなかったので、このスクリプトはおそらくセキュリティ的に危険だ。オブジェクト指向についても、PHPにはちょこっとクラスが作成できる程度の実力しかない。PHPの標準関数は、便利すぎて簡単に様々な機能を実装できるが、その関数の計算量が一目では分からない怖さがある。型は時々予想外の動きをする。PHPにもPEARというライブラリが存在するが、CPAN程気軽に利用できるものではないようだ。

 貶される理由についてはその通り過ぎて反論できないし、もといしない。ただ自分が最初に出会ったLL言語PHPであっただけだ。そのおかげで、俺にはスクリプトを書く癖がついた。PHP自体がWebアプリケーションに特化しているのもあるが、その緩さゆえに簡単にそれなりに動くスクリプトを書くことができる。ちょっとした処理のためにスクリプトを書き下ろし、その場限りで使うことも厭わなくなった。そして今は、それなりに動くスクリプトが作れるようになったので、他のLL言語に目を向けられるほどの余裕ができた。

 だからそろそろ他のLL言語で遊んでみようと思う。PHPはやはりWebに特化しすぎていて、それ以上使える言語にはなり得ない。今日知ったのだが、家のサーバ(VineLinux4.1)はPHPRubyPythonPerlも動く。PHPPerlだけがCGIの標準規格に感じていたが、なんだどれでも動くのではないか。しかし俺はここでJavaScriptを選ぶのだが。