/ «2003-12-31 (Wed) ^ 2004-01-03 (Sat)» ?
   西田 亙の本:GNU 開発ツール -- hello.c から a.out が誕生するまで --

Categories Books | Hard | Hardware | Linux | MCU | Misc | Publish | Radio | Repository | Thoughts | Time | UNIX | Writing | プロフィール


2004-01-01 (Thu)

[Misc] 謹賀新年

「じいちゃん、ばあちゃんと過ごしたい」という娘を残し(本音はオモチャ屋さん巡りにあるらしい)、スーパージェットで帰松。瀬戸内の静かな水面は、鏡のように美しい。松山港に降り立つと、いつもの事ながら木々と静かな時間の流れが出迎えてくれる。帰りの車中、ふと見ると近所の畑で子供達が凧あげを楽しんでいる。そうだよ、正月は凧だよねぇ。忘れかけていた情景が脳内を刺激する。

凧あげとハードウェア・プログラミング

都会育ちで凧あげの経験がない子供が、正月を田舎で迎える。持参したゲームボーイで遊んでいると、近くの広場から地元の子供達の歓声が聞こえる。どうやら、凧あげをしているらしい。おばあちゃんの、「あんたも一緒に遊んでおいで」の声に、「嫌だよ、寒いじゃん」と孫。「まぁ行っておいで」と急かされ、気が進まぬまま空き地へ。近所のお兄ちゃんから、簡単な手ほどきを受ける。最初は、舞い上がる暇もなく凧は無惨にも墜落してしまうのだが、次第に感を掴んでいく。遂に、凧が風を捉え大空に飛翔した瞬間、凧糸を通してこれまでに経験したことのない感動が少年を包むことだろう。大空を悠々と泳ぐ凧を見上げる子供達とその笑顔。最近、めっきり見かけることの少なくなった情景のひとつだ。

思えば、私が2年前から記事の執筆を始めたきっかけも、この凧あげと同じ動機であった。私はプログラミングの醍醐味は I/O 操作にあると信じている。I/O 操作、すなわちハードウェア・プログラミングに通じるためには、機械語はもとより、ハードウェアの特性をデータシートから読み込む必要がある。統合開発環境やスクリプト言語が全盛の時代にあって、コマンドライン型式のアセンブラーやリンカー、そして機械語など時代錯誤もいいところかもしれない。しかし、風と凧の絆を肌身で感じる凧あげと同じく、ハードウェア・プログラミングには得も言われぬマシンとの一体感がある。ブラックボックスを紐解きながら、コードひとつでハードウェアを乗りこなし、未開拓地を突き進んで行くその様は、知的冒険そのものと言えるだろう。

私は自身の経験を通じて、この冒険が心底楽しいものであることをいささか知っている。もちろん、冒険に臨むためには相応のトレーニングが必要になるのだが、私の場合は全て独学だった。床が抜けるほどの書籍を買い込んでもみたが、その殆どは役に立たなかったからだ。おかげで、人一倍どころか人百倍苦労したような気がする。途中遭難したことは数知れず、何度旅を諦めようと思ったことか。

それでも、旅は続き、私はここにいる。一体何が門外漢の私をそこまで駆り立てるのだろうか?