北原鉄朗のこれまでのプログラミングの遍歴

中2: N88-BASICを覚えて友人と共同でゲームを作ろうとするが、
     処理があまりに遅すぎて爆死。
中3: たまたま家に解説本があったので、MASMに手を出す。VRAM
     のメモリアドレスとかPC-9801のハードウェア仕様にちょっ
     とだけ詳しくなるが、ファイルI/Oの仕方がいまいち理解
     できなくて爆死。
高1: Visual Basicに手を出す。基本的なことは習得するが、
     特に作りたいものが何もなく飽きる。
高2: Delphiに手を出すが、オブジェクト指向が理解できなくて
     爆死。ただ、ここで覚えたPascalの文法は後で役に立った。
     (B3のゼミで扱ったアルゴリズムの教科書が、サンプル
       プログラムをPascalで書いていた。)
     父親が「これからはJavaらしい」と言ってJavaの本を大量
     に買ってきたので読んでみるも、オブジェクト指向の理解
     はあまり深まらず。
高3: この頃は音楽制作に興味が移り、プログラミングはほとんど
     やらなかった(←受験勉強はどこにいった?)
B1:  大学の授業でC言語とStandard MLを学んだ。再帰呼出しの
     仕組みに感動するも、カリー化はいまいち理解できず。
B2:  Javaのプログラミングの課題が大量に出て、Javaの基本的
     な部分はこの時期に習得。いろいろとアプレットを作る。
B3:  ハノイの塔とか、逆ポーランド記法の数式を計算する様子
     をアニメーションで可視化するJavaアプレットなどを制作。
     これらはアルゴリズムの授業で紹介されたらしい。
     授業でPerlとTcl/Tkをそれぞれ2週間だけやった。
B4:  卒業研究のためにMatlabを始めた。
M1:  Perlの謎仕様に嫌気がさして、テキスト処理はRubyに転向。
M2:  これまでMatlabで作ってきた研究のプログラムが、継ぎ
     接ぎに継ぎ接ぎを重ねた結果維持困難となり、この頃には
     「オブジェクト脳」になっていてMatlabにも嫌気がさして
     いたので、全プログラムをJavaで1から作り直すのを決意。
D1:  作りなおしたJavaのプログラムも破綻寸前になり、クラス
     構成を1から練りなおして完全に作りなおすことを決意。
     いろいろと模索した結果、エレガントな仕組みを思いついて
     一瞬自分は天才ではないかと思うが、「ポリモーフィズム」
     としてよく知られている考え方であることを後で知る。
D2:  Javaに並行処理のAPIが追加されたので、プログラムを並行
     処理化。いろいろ模索した結果、いい仕組みを思いつくが、
     Producer-Consumerパターンとしてよく知られている仕組み
     であることを後で知る。
     それ以降、素直に書籍を買ってデザインパターンを学ぶ。
     最近Ajaxが流行ってるらしいと後輩が言っていたので、
     JavaScriptに手を出す。無駄に自分のWebページの一部を
     非表示にしたり表示したりする機能を実装。
D3:  MusicXMLを読み込むライブラリーを作って欲しいという
     業務命令が来たのをきっかけにDOMとかXSLTとかを学ぶ。
     力試しとして自分の発表文献リストをXML化する。

(残りは気が向いたら書きます)