昔話を少し

私がプログラミングを始めたのは、中学2年か3年の時なので、今から30年近く前になる。当時「中学生を対象としたコンピュータ教室」という夏休みを利用した近くの高校の公開講座に参加し、学校に設置されている大型コンピュータを使用してFORTRANのプログラミングを教えてもらったのが初めてのコンピュータ経験だ。パンチカードでプログラムを作成して、プリントアウトでの結果が届けられるまでの間、暑い教室で待った思い出がある。その後、TK-80が発売され、TK-80BS,MZ-80K,PC-8001.... といろいろと使ってきた。TK-80の時代はプログラミングは最初に紙の上で行い、それをハンドアセンブル機械語に変換して、16進キーボードから入力するという手順だった。「μCOM80 インストラクション活用表」なるTK-80に付属していた機械語とニモニックの対応表が本当に重宝し、ぼろぼろになるまで使用した。プログラムにバグがあるときは、運が良くて不正な動作、通常は「暴走」となりマシンをリセットするしかなかった。なんら記録を残さず暴走するために原因をつきとめる手段が無く、本当に大変な作業であったが、数千ステップものプログラムをよく書いたものだと以前の自分に感心していたりもする。というかあの時はあの時なりに楽しかった。そしてPC-8001の時代になり、フロッピーディスクが利用できるようになると、テキストエディタと共にアセンブラを使用するようになり、(デバッガこそまだ使える環境になかったが)プログラミングは格段に楽になった。その当時はアセンブラのプログラムは数万円でやっとの思いで購入し、CP/MDOSのようなもの)や各種言語のコンパイラは5万円〜10万円以上で、とても手が出る代物ではなかった。
そして現在、たいていの言語処理系は無料で入手でき、簡単に試すことができる。また、フリーの開発環境の普及によってプログラミングのしきいが本当に低くなったと思う。でもその反面、システム全体を見渡すプログラミングを楽しめる機会は無くなり、大規模なオペレーティングシステム仮想マシン環境の上で動くプログラムを幾重にも保護された環境で動作させるという形態が当たり前となっている。これはある意味正しい進化ではあるけれど、プログラミングの楽しみといった面では大きな質的な変化をもたらしたと思う。その昔は夢のまた夢のようにいわれたグラフィカルなプログラミング環境やオブジェクト指向プログラミングが楽しめるようになっのは良い変化だろう。それと同時に、雑誌トランジスタ技術がワンチップマイコンの基板を付録にして話題になっているが、これは以前のような「すべての見渡せる」プログラミングやハードウェア製作のニーズがいまでも根強いという証拠だろう。私自身は、そのどちらも大切にしたいと思っている。