ASP.NET エッセイ

Before the Program

エッセイ「ビフォー・ザ・プログラム」

インスタンスは「たいこまん」

7月7日は開業記念日。二人の存在=PROJECT KySSなので,七夕にあやかって開業届を提出したのだが,なにせヲたくユニットである。流れるのは天の川のストリームではなく,System.IO名前空間のストリーム。結婚して4年目になったというのに,非常に熱い。何が熱いかというと,IE5が登場してXMLを始めた頃と変わらず,布団に入っては,ASP.NETについて熱く語り合っている...というよりも熱を帯びたバカ話をしているのだ。

 ASP.NETはVisualBasic.NET(以下VB.NETと略す),C#,JSCript.NETといった言語で開発することができるが,わたしたちはVB.NETを使っている。

 ところが,このVB.NET,「VB」という名前のクセに,VBScriptとは全く違う。国安に言わせれば,VisualBasicとも全く違うという。一言で言えば,四国以外で食べる「うどん」のようなものだ。「うどん」という名前が付いているのだが,実は「うどん」ではなく,オブジェクト指向の全く別の麺料理なのである。だから,出てきたメニューを見て愕然とする。ASP.NETを始めるには,VBScriptやVBの経験はあった方がいい。しかし,経験を一度白紙に戻すくらいの気持ちでのぞんだほうが,馴染みやすいと思う。

.NET Frameworkでは,名前空間だのクラスだの,VBScriptやJScriptでは意識する必要などなかった用語が,当たり前のように顔を出す。ASP.NETを始めたいなと思っている人たちの中には,VBScriptやJScriptでASPプログラミングをしてきた人たちも多いはずだ。ASPプログラマが,即ASP.NETに移行するには,この用語の羅列が最初の関門になる。それで,分かりやすい記事を書こうとすると,いきおい私たちのバカ話も,長時間におよぶことになる。さすがに布団に入るのが3時なので,2時間も話していると翌日は眠い。VB.NETは,高齢者いぢめなプログラミング言語である。

ある日,クラスやインスタンスをレトリック(比ゆ)で説明できないかというやりとりになった。MicrosoftのHELPでは,クラスを「クッキー型」,インスタンスを「クッキー」だと説明してある。タイヤキの型とタイヤキなんていう説明も読んだことがある。しかし,超甘党の国安に言わせれば,クッキーやタイヤキごときを例にするのは言語道断で,やはりそこはそれ,黒砂糖と水あめがコテコテの,黒光りする餡の入った「たいこまんの型」と「たいこまん」でなければならない。しかし,ふと国安が言った。「クラスには実体がなくて,クラスをもとに実体化したものがインスタンスだって言ってもさぁ,たいこまんの型って実体あるよなあ」ホントだ,これは困った,そりゃそうだ。これを「たこ焼きの型」と「明石焼」にたとえたりしたら,フワフワでつかみどころのない明石焼きよりも,鉄製で重量感のある「たこ焼きの型」の方が実体って感じがするもんなあ。

ASP.NETでは,new演算子でクラスの新しいインスタンスを生成し,その際に呼び出されるコンストラクタ(構築子ともいう)を使って,指定する値でインスタンスを初期化する。各クラスにはメンバであるプロパティやメソッドがあり,それらを使ってプログラミングしていく。

それじゃ,学校を例にしたら,クラスもメンバも言葉として使えるじゃないかという話になったが,コンストラクタを何に例えればよいかのか決まらず,二人で唸る。

翌日,夕食を食べながら,ぼーっと洋画を見ていたら,「十戒」とかいう映画が放送されていた。すると,「神に似せて人を造られた」というセリフが出てきて,これはクラスとインスタンスよ,と思った。つまり,神がクラスで,人がインスタンス。これなら,クラスには実体がなさそうに思えるんじゃないかなあ。と,国安に言うと,「じゃあ,神って何?」という話になり,ASP.NET談義は,国安和尚と聖哲人の議論に発展してしまうのであった。

リンク先へジャンプ もどる