PHP について
思いつくままにつらつらと書いていくコーナー。 結論も何も考えていない。
404 Blog Not Found:そろそろPHPに関して一言いっとくかに釣られ触発された。
先に総論から
PHPを使っても、知識は増えても知恵が増える気がちっともしないのである。
これは分かる。 ただしある程度のレベルに達していることが前提かと。 僕はまだまだなので、 PHP から学ぶことも良くあるなぁ。 基本的に C 言語が透けて見えるので、そういう部分が興味深いと言うか。
まぁ、初めてプログラムを触る人にとっては、 PHP でもいいと思う。 最近は Web プログラミングの機会も多いんだし、
#!/usr/bin/env ruby require 'cgi' puts CGI.new.header puts "<html><body>" puts "hello world" puts "</body></html>"
よりも
<html><body> <?php echo "hello world" ?> </body></html>
と書けるほうがいいと思う。 と、ここまで書いて、Rubyでも
CGI.new.out{ "hello world" }
と書けることを知った。
各論
使うは天国、インストールは地獄
自分でインストールせずに、パッケージなどで入れて事足りるレベルで使えばいいんじゃないかな。 ちょっとしたプログラムを動かすのには重宝するし。
Webアプリ以外作る気にならない
fgetcsv を使ってCSV を解析して処理するようなコマンドラインのスクリプトを書いた時には、意外と重宝した。 まぁ、 Ruby でも CSV の処理は簡単に書けるんだけど、出力のためのテンプレートエンジンが標準で付いているかどうかの差は大きい。 (erbは最初のセットアップが面倒なことがある)
反吐がでるほど多い呪文
呪文もだけど、不思議な言語仕様で引っかかることは良くある。
バージョンが変われば別言語
PHP4 しか使わないなぁ。 PHP5 がデファクトになれば幸せなんだろうに…とは思う。
言語で言語を拡張できない
バージョン間の不一致はこれが原因じゃないと思う。 PHP4 と PHP5 の差異は、言語の拡張でどうにかなるレベルじゃないし。 (Perl5 から Perl6 への移行に似てる?)
MVCのVしか出来ない
一応 PHP のフレームワークもあるけど、 MVC の V だけ作れば事足りる領域が適用範囲だったのでは。 昔の Perl で書かれた CGI の発展系だしね。 大規模には Java がいた訳で、そこまでは狙っていなかったのでは。
終わりに
あれこれ書いたけど、以下の弾さんの意見に結局はほぼ同意だなぁ。
PHPに対して正しいスタンスは、「使うにとどめる」というものだと思う。「作る」までやりたかったら、他をあたるべきだろう。
ただ、「使うにとどめる」に対する評価は違うかもしれない。 プログラミングを「楽しみ」じゃなくて「仕事」として見た場合に、限られた時間でのやっつけ仕事に応えてくれるのは重宝してる。
反応リンクを読んで
TrackBack をたどって、いろんな人の意見を読んでみた。 そういえば TrackBack を使うのも久々だな。 こうやって PHP を使っている人のいろんな意見が聞けるのは、いいことだと思う。
「PHP のここがダメ」、「Perl のここがダメ」と言い合うよりは、長所と短所を理解したうえで適材適所で使えばいいんだと思う。 好む好まないに関わらず、道具はそこにあるんだから。