Webサイトのプログラミング

Andrealphus完成

なんでこんなにつまらないんだろう。
と、Smarty + PHP + MySQLでメール配信システム、Andrealphusを組み上げた時に思った。
特にテンプレートの作成なんて苦痛以外の何者でもない。
GUIツールをもう少し使わないと駄目かな。
でも、それ以外にも何か理由がありそうな気がする。
楽は楽なんだけど、なんか組んでて面白くないんだよな。

VB6

相変わらず私の中で最もプログラムが楽しいツールと位置付けられるのがVisual Basic 6である。このツールはもう不動かもしれないな。正確にはVB6に限らず、VB2、VB4、VB6ならどれも楽しい。
昨日元教授から出されたアルゴリズムの質問の答えが4種類あり、その4種類の内どれがプログラム的に最も高速か、検証するツールを夜中に思いついて作る事にしたのだが、完成するまでの30分はある種至高の時間ですらあった。
で、なんでWebはこんなにつまらんくて、VB6はこんなに楽しいんだろうと、別に大した問題でもないが真面目に考えて見る事にした。

クライアントアプリケーションとサーバシステム

で、結論から言っちゃうと、VB6で作るプログラムはクライアントPCで動くアプリケーションだからだな、ということ。
いや、それ以外にもVC6やJAVAが私の中でVB6に勝てない理由は、単純にツール自体の機動力であったり、インタープリタ特有のデバッグ効率があったりもするが、本質的にはそういうこと。
なんかね、いちいちブラウザ立ち上げてみるのがかったるいし、クライアントサイドのスクリプトとサーバサイドのスクリプトを別々に検証するのもかったるいんだよな。
あとリリース前の環境設定もかったるいし、原因追求にログ見るとかもかったるいし、Apacheの設定ファイルにPHPの設定ファイルにサーバのセキュリティ見るのもかったるいんだ。
やはりWebというか、クライアント/サーバモデルのアプリケーションというのは多くのことが出来る分機動力に落ちるし、簡単なツールを作る時に「なんでこんな手間かけなきゃならないんだ。メインのロジックは10分で組めるのに・・」となってフラストレーションがたまるということなのだと思う。

Ajax

Web系でAjaxが騒がれているけど、Ajaxも触って見ると面倒くさいねぇ、という感じ。
結局はHTTPだからね。サーバサイドのスクリプトでいかに上手いレスポンスを返してやるかが鍵で、それを作るのはとても面倒。
Ajaxという技術自体は白鳥系だし。Webという枠の中で、いかにGUIアプリケーションっぽい動きをするか、そのための手段にこれとこれとこれを組み合わせればなんとかなるんじゃないか、そういう試行錯誤の結果生まれたのがAjax。だから面倒なのは当然なんだけどね。
単純なDHTMLならお遊び言語として面白いと思うが、DHTMLじゃファイル出力すら出来ないからな。

作る楽しさ != 達成感

そんなわけでどんなWebシステムでも組んでいる途中はつまらんのだが、出来上がった時の快感は単純なクライアントアプリケーションの比ではないな。
私自身エゴの強いプログラマーだと自認しているし、そのエゴを満たすためにはある程度発表の機会というものも必要。
Webシステムはサーバが一つあれば全世界に向けて発表出来るので、完成した時の達成感が非常に強い。


今、時代はWebである。
単純に作る楽しみという点は旧時代のプログラムの方が楽しいかもしれないが、全世界に向けてTCP/IPという仕組みで、HTTPという通信を使って、インターネットというインフラの基で発信出来るシステムを作れるのである。
多少(?)の面倒は我慢するしかないのだろう。