壊れたメガネ

ホッチキスの達人の意識の高いブログ。

PHPがつまらないと思っていたが、違ったようだ


私は仕事では主にPHPを用いてWEBサーバーの処理を書いています。
プログラミング始めて以来、2年くらいずっとPHPです。
PHPがつまらないと思っていましたが、考え違いのようでした。
今回感じたことを箇条書き的に自分なりに連ねてみました。


プログラミングを純粋に楽しめていたとき



PHPで処理を書き始めた頃は、ただ単純に書いたものが動く、作ったものが動くことに興奮した。
それからクライアント側の処理を書くためにJavaScriptを使い始めた。
ブラウザでJavaScriptがどう読み込まれて、どういう順序で処理が行われているのか解らず結構苦しんだ覚えがある。
しかし、ブラウザをJavaScriptシェルのように使うことでだんだんと理解が深まっていく実感が得られ楽しんでいた。(F5キーをEnterキーの替わりにしていた)
プログラミングを始めて1年くらいの頃、JavaScriptオブジェクト指向というものを理解し始めてきた。
この時は微積分の概念を理解した時のように楽しかった。
PHPにもオブジェクト指向が実装されているのは知っていたので、PHPでもオブジェクト指向を使い始め、やはり楽しんだ。


PHPつまんねーんだよと思っていたとき



しかし最近はあまり楽しいと思ったことが無かった。
なぜなのか、多分PHPに飽きているんだろうと考えていた。
そんな時、PHP5がインストールされているシステムで動いている処理をPHP4のシステムへの移植という仕事が入ってきた。
そのPHP5の処理というのは私が書いたもので、ZendFrameworkが用いられ、もちろんMVCを意識したものになっている。
既存の処理の書き直し、それもPHP4への。どんだけつまんねーんだよと思った。


とてもつまらないPHP5 -> PHP4の処理の書き直し



ところが、取りかかってみるとおもしろかった。
ZendFrameworkを用いることができないので、PEARのライブラリを使うことにした。
PEARのライブラリはほとんど使ったことが無かった。
DBというライブラリを用いてデータベースまわりは書いた。ZFのそれらよりサクッとできた印象が強かった。
なんでだろ。おそらくZFをうまく使えてないからだろう。
PHP4で動くMVCフレームワーク的なものを書いた。
複雑なコントローラーの処理(例えばアクションの遷移)は実装していないが、MVCを分離することは出来たと思っている。
これも私にしてはすぐできた。SmartyがPHP4で動くことは幸いだった。
つまらないと思えた単なる処理の移植、それもPHPによるコーディングが楽しかった。


感じたこと



私が感じていた閉塞感のようなものはPHPによるものではなかった。
ただ単につまらないものを作らされていることによるものだった。
また、楽しいかどうか、あるいはつまらないかどうかってのは、案外やってみないとわからないということが解った。
つまらないと思えるものを、工夫して楽しめる人がいるならすごいと思う。今の私には出来そうにない。
つまらないのはPHPのせいではなく、つまらないものを作っているからだ。