つきいち日記へ戻る  

私のコンピュータプログラミング歴

2003-11-24 18:35

 今を去る35年ほど前、パソコンなどというものは影も形もなく、電子計算機なる威風堂々の恐ろしげな機械が革新的装置としてマスコミを賑わしていた時代である。パスカルの計算機のような機械式の計算機(4〜5桁程度)が実用品として文房具店で売られていて、科学技術計算機としては計算尺が現役の時代である。
 当時も、どういうわけかコンピュータの原理は広く紹介されていた。また、これもどういうわけか、システムエンジニアの役目を経営者向けに解説したやさしい本があった。
 しかし、IBMのシステム360の時代にあっても、一般の人にとって電子計算機は世間から隔離された空調の利いた部屋で黙々と不気味な計算を行う神秘的な装置であった。このころの計算機の印象は手塚治虫氏の鉄腕アトムなどを見れば分かる。アトム自身は超小型の電子頭脳を搭載しているはずだが、「電子計算機」はチェッカーボードのような表示装置になにやら計算経過を表示しながら黙々と働き続ける超大型の神秘的な装置、少なくとも私の記憶ではそのように感じたと思う。

● 電子計算機はどこにでも

 それから5年ほど経つと、電子計算機は日本国内でも何百台も稼働するようになり、電子計算機自体はすっかり当たり前の装置になってしまった。つまり、電子計算機はついに安定稼働する、特殊ではない装置になったのである。宇宙ロケットがいまだに特殊技術であるのとは対照的である。
 とはいえ、一般人が電算機を直接目にすることは無かったと思う。それでも、国産のミニコンが売り出され、大型機もオンラインで使えるようになり(たぶん目の玉が飛び出るような値段であったろうが)、中小企業でも計算機を使いましょう、ということであろう、NHK教育テレビのコンピュータ講座(趣味講座ではない)でCOBOL入門、FORTRAN入門(1971)、FORTRAN応用(1972)、といった番組が放映された。今では解説が必要であろう、COBOL(コボル)は事務計算向きの計算機言語、FORTRAN(フォートラン)は科学技術計算向けの計算機言語である。残念なことにCOBOLは難しく思え、挫折してしまったと思う。
 ところがFORTRANは非常に素直に頭に入った。後に大学の計算機入門の授業を受けることになるのだが、そこでは大型機のFORTRANを教材に使っていたから、計算機入門はまずFORTRANで、という時代である。特にFORTRAN応用は画期的な番組で、現在でもそのまま通用する大学専門課程の高度な学術的内容を分かりやすく一般の人向けに、それも大型機の計算機言語をスタジオで実働させながら紹介したのは、後にも先にも、この番組だけではないだろうか。講師陣も豪華で、真剣に討論していたのを思い出す。
 動作させる当てもないのに、FORTRANで色々なプログラムを組んだのを思いだす。結局私の最初の実働するプログラムは友人宅でのマイコンの機械語のゲームプログラムであった。

● 8bitパソコンの時代

 大学の研究室では贅沢にもミニコンを英文ワープロ代わりに使っていたところもあるようだが、日本でのコンピュータ普及はパソコン時代からだと思う。初期の8bitパソコンには、ほとんどもれなくMicrosoft社のBASICが搭載されていて、ある程度の互換性があった。このBASICはスイッチを入れると瞬時に準備完了し、とりあえず高級関数電卓代わりに使えたし、かなり大きなプログラムも非力な8bitマシンで安定動作した。機械語に比べて信じ難いほど遅いなど、批判も多かったが、手軽に計算機言語が使えた点で、間違いなくパソコンのその後の発展には寄与したと思う。私もパソコンBASICでいくつものプログラムを書いて遊んだものである。一応、実用ソフトもゲームも黎明期を迎えていた。
 私はアセンブラをそれ以前から使っていたから、所有していた8bitパソコン用のアセンブラシステムも買ってみた。しかし、ソフトを組んだ覚えはほとんどない。計算や入出力のライブラリの内容がほとんどないので、有用なソフトがほとんど組めなかったと思う。今から考えると、C言語の標準ライブラリのようなのを揃えたら良かったのだろうが、自力で用意するほどのアイデアも無ければ実力も無かったと思う。

● 16bit時代

 購入時からいきなり実用的に使える日本語ワープロは、16bitコンピュータの時代に現れた。今は見慣れた実用ソフトが次々に揃い出すのはこのころである。
 C言語が圧倒的になるのは、少し後のことで、最初の頃はBASIC、後にFORTRANとアセンブラの混合でプログラミングした。FORTRAN開発システムはやや高価であったが、快適であった。浮動小数点機構ICと組み合わせれば実数の計算が速い。グラフィックは直接は使えないが、アセンブラで簡単なライブラリを作ってみた。FORTRANからはライブラリのプログラムを利用することになる。これは結構遊べた。
 大学ではワークステーションが導入となり、UNIXを使っていたからしぶしぶC言語を学習することにした。FORTRANもあるにはあったが、ウィンドウシステムのライブラリが利用できないのである。後から分かったことだが、IBM等の米国のワークステーションではFORTRANでもちゃんとグラフィックできたから、C言語の知識は不要であったのだが、その頃にはC言語には慣れてしまっていて、後の祭りであった。
 UNIXにはX-Windowと呼ばれるウィンドウシステムがあり、ウィンドウプログラミングはこのころに修得した。これも情けないことに、国産のワークステーションではウィンドウプログラミングするとライブラリを埋め込んでしまうので、やたらとディスク容量を使うことになる。後にIBMのワークステーションを使ったときには、今のWindowsパソコンと同じく、システムのライブラリを実行時に使うから、コンパイル後のプログラムもコンパクトであった。

● 32bit時代

 Microsoft社のWindows 3.0は画期的な製品で、486 DOS/Vパソコンとともに、プログラミングが趣味の者にとっては、ようやく理想的な環境が整った。Windows 3.0/3.1はソフト的には16bitだったので少々扱いにくかったが、IBMのOS/2やWindows 95が普及すると完全に32bitに移行した。OS/2はすたれてしまい、WindowsはNT 4.0直前あたりから安定したとはいえ、パソコンでも本当のマルチタスクのウィンドウシステムが利用できるようになったのである。プログラミングの主役はC言語なのだが、早とちりした私はC++でないとまともなプログラミングができないと勘違いし、必死でC++を勉強したのを思い出す。
 BASICでは相変わらず簡単な線画しか描けなかったが、C言語でウィンドウシステムを直接操縦すると、平面図形なら、かなり凝った描画が可能である。三次元図形に関してはグラフィックアクセラレータの普及とOpenGLと呼ばれるライブラリの普及が鍵となった。Windows XPはNTの後継だから、今の普通のパソコンは、優れたプログラミング開発環境でもある。

● 夢ならさめないで

 まあ、ということか、最近出版社から「フリーウェア5000 2003 Autumn」というのが送られて来た。880円の本に、フリーソフトが本当に5000本も入っている。中には私も良く使う評判の実用ソフトから、私の趣味丸出しのソフトまで入っている。この手の本はざっと眺めて見るにはアイデア満載の楽しい本であるので、機会があれば購入している。
 明らかにC言語で書かれたプログラムも多数あるから、C言語人口は、それもウィンドウプログラミングをするアマチュアが多数おられる、ということになる。このコミュニティがマスコミで語られる機会は少ないが、クラシックにおけるアマチュアオーケストラと同様の意味で、プログラミングの世界を広げているのではないかと思う。