からだのブログ

五体満足に生まれてきたことに感謝してブログの名前を「からだ」にしました。

からだのブログ header image 2

Perlとチョコ [クソ長いわりに本人以外読む価値無し]

2月 16th, 2007 · No Comments · unclassified

St.Valentine’sDayも過ぎたことだし、タイムリーな(どっちだよ)ネタをば。
バイト先でCGI、もといPerlを教える(リファレンス見ないと、if文すら書けないんですけどね)ことになった俺。まあ、案の定生徒は「CGIを書きたい」みたいなことを言っているわけだ。
まあ言いたいことはわかる。それに、実際に「CGIっていう『インタフェース』を書く(実装する)」っていう場面なんてそうそう無いわけで、つまり、「Perl(に代表されるプログラミング/スクリプティング言語など)でCGI向けプログラミングする」っていう場面が、実際に世の中で起こっている99%(たぶんそれ以上)なわけで。しかも、合コンでこんなこと言ってたら、絶対頭がおかしいと思われるわけで。
しかしだ、知ってて言っているならともかく、知らないで本当に「私は今まさにCGIを書いているんだ! なんて素晴らしくエキサイティングな体験なんだ!」って思っていたのならちょっとかわいそうなので、とりあえず1度は説明しておくことにした。だってそうだろう。「母を訪ねて三千里」で、母親とようやく会えたその場所で「私は実はあなたの本当のお母さんじゃないの。」なんて告白された日には、んまあ、これはまた別で、どうでもいいとして。
何て説明したらいいもんかねえ。そりゃまあ、先のような告白をしなければならないマルコの母親の状況と比べれば、第1回か2回かのレクチャなんだから、状況はかなりいい。つーか、別にショックでも何でもないだろう。
というわけで、Webサーバと、Webブラウザを実行しているPCを紙に描いて説明を始めた。要するに、PerlってーのはWebサーバで動くプログラムを記述するための言語で、CGIってーのは、WebブラウザとWebサーバの間でデータをやりとりするための仕組みですよ、みたいな説明をした。
んで、その後になって気付いたんだけど、レクチャに使ったテキストは都合が悪いことに、ホントにPerl入門なの。いや、パッと見悪いテキストじゃないんだけど、CGIなんて文字列は全然出てこなくて、最後のほうの章でちょっと扱うの。その章にたどり着くまではコンソールで実行しなさい、っていう。だから、「Webプログラミングしたい」っていう要求に内容が合致するまで、ちょいと時間がかかるというわけ。
で、「このコンソールって何?」「標準入出力って何?」っていう話になると、もう説明が面倒くさくなってくるので、魔法の呪文を教えた。それってーのは、「perlのパス指定」と「Content-Typeヘッダの出力」。こいつらをとりあえず書いて、その下にテキストの内容を書く。出来たらブラウザでURLを開いてね、っていう手順で。それはいいとしても、Perlは色んな場所で使えることをどう説明したらいいんだろう、、、ってなって。その時は「まあ、いろいろな実行方法があります」とか言ってお茶を濁しておいたのだが、、、今さっきわかった。

言いたいのはここからですからね。深夜にボケーっとしていたら急に思いついて、そのテンションでここまで書いてるだけだから。大抵次の朝には気が滅入るだろうけど、まあ気にしない方向で。
要するに、Perlってのはチョコレートなんですよ。CGIってのはSt.Valentine’sDay用のラッピングやら、渡す日付やらを含めた周りの状況。(日本では)チョコレートが、St.Valentine’sDayの定番中の定番ギフトであるように、Perlは、CGIプログラミングのための定番中の定番言語なわけ。で、St.Valentine’sDayのチョコは定番だけど、本来は別に何だっていいわけだ。幸いにして、Webプログラミング界にもPerlやらC++やらPythonやらRubyやら、諸々の選択肢があるわけよ。
しかも、Perlはチョコレートだから、別にSt.Valentine’sDayの贈呈品だけに用途を限定することはない。こうして駄文を書いたり読んだりする最中、口が寂しければかじってもいいわけ。たぶん、それが(例えば)サーバ管理用途に使われるPerlの姿なんだんろう。華々しく表に出たりしないけど、日々見えないところで頑張っています、みたいな。

うん。結果としては、Webプログラミング界の言語の数よりも、今年もらったチョコの数の方が少なかったよ。うん。その中身も、真珠やルビーなんてもんじゃなく、んまあ、どっちかって言うとニシキ、、、ま正直そこまでは酷くないが。俺は純粋のチョコが好きなんだ。既製品のほうが味の振れ幅が小さくてしかもハイレベルなんだ。そうだ。

Tags: