北原鉄朗のこれまでのプログラミングの遍歴 中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化する。 (残りは気が向いたら書きます)