2005年12月25日

萌えるポインタ

 何年くらい前のことだったか。入門書のような本のタイトルを、『萌える××』とするのが流行ったことがある。おそまきながら、このパターンで作ってほしい本を思いついた。『萌えるポインタ』だ。
 登場人物は以下のとおり。
 
・アドレスたん:貧乏なロリ少女
・ポインたん:アドレスたんがモビルスーツを装着した姿
・スタックたん:最初はお嬢様だったが、のちには武装ゲリラに
・参照たん:お嬢風のロボ少女
 
 外せないポイントは以下のとおり。
 
・モビルスーツのカタログと薀蓄
 「IBMのシステム/38は、ハードウェアでポインタを保護しています。この仕組みは普及しませんでした。けれど今でもPOWERシリーズのCPUには、ポインタ保護機構が組み込まれていて、i5/OSはそれを使っているのです」
 
・スタックたんの果てしなきゲリラ戦
 「スタックたんを愛して助けてくれる人は、今でもたくさんいます。スタックたんは、そういう人々に支えられて、今日もあちこちで破壊工作を続けています。たとえば最近では、Java VMに潜入して、JavaChipを粉砕しました(オペランドスタック)。携帯電話のJavaが遅いのは、スタックたんのおかげです。もちろん.NET Frameworkにもスタックたんは忍び込んでいます(評価スタック)。次なるスタックたんの活躍を、もうじき見られるはずです」
 
・参照たんの成長物語
 「そんな参照たんを、ムーアの法則がそっと見守っていました。命令の並列実行と動的最適化はいつか、参照たんを誰よりも速くするだろう、と」
 
 また、私は疎いのでわからないが、Lisp関係にはネタがたくさん転がっているだろう。
 本の最後はこんな感じだ。
 「こうして、Java VMの参照には、『なにも指さない参照』という特別な参照ができました。なにも指さないので、この参照を使おうとすると、エラーが起こります。
 参照たんは言いました。『こんなエラーには、私の名前はふさわしくありません。そもそもJava言語を関数型言語にすればよかったのに』。
 そこで誰かが、眠っていたポインたんを起こして、そこに座らせました。エラーの名前は、『java.lang.NullPointerException』。それは、Java VMで一番よく起こるエラーなのです」

Posted by hajime at 2005年12月25日 22:31
Comments