いぬおさんのおもしろ数学実験室

おいしい紅茶でも飲みながら数学、物理、工学、プログラミング、そして読書を楽しみましょう

昔のパソコン、プログラミング(1)

 ここのところよくPythonで書いています。Pythonに限らず、今では大きなことが簡単にできる様々の仕掛け(ライブラリなど)がたくさん出てきており、そういう意味ではプログラムを書くのはラクになったのかも知れません。言語を始め、プログラミング環境は大きく変わりました。しかし、昔は(……とあんまり言いたくはありませんが)分からないことばかりで楽しかったです。何をするにも大変だったと言うか……。

 ぼくが最初に手に入れたコンピュータはカシオのFX-702Pというヤツです。確か3万5千円くらい。今ではあまり聞かない「ポケットコンピュータ」という分類です。そろばん半分くらいの大きさだったか。キーもたくさんついていて、「おお、コンピュータ!」という感じでした。使えるのはBasicだけ。

 大学に入って「情報処理センター」みたいな建物に行くとパソコンがいっぱい並んでいて、しかしそれはただの端末で、奥に大きなコンピュータがあって「TSS」という仕組みなのだと聞きました。タイムシェアリングシステム、つまりこの端末に0.01秒、次の端末に0.01秒、……と交代で大きなコンピュータが面倒を見てくれるのです。使っていた言語はFortran。工学の友だちに「何であんな『format文』なんてあるの?」と聞きました。画面に何か表示したいとき、表示の仕方を細かく指定するのです。当時Basicしか知らなかったので余計不思議でした。Basicなら「print A」だけで変数Aの内容が表示されるのに! 友だちは「それだけ機械語に近いってことでしょ」と答えました。また先輩が「サブルーチンを呼ぶ」と表現していて新鮮でした。それまではコード上のサブルーチンの部分に飛ぶイメージだったので。Fortranではcall文ですね。しばらくして先輩からNECPC-8001という「一世を風靡した」パソコンを中古で買い、プログラムを書いて遊んでいました。Basicと機械語しか使えません。なぜそうするとうまく動くのか分かりませんでしたが機械語のプログラムがサンプルとして何かのテキストに載っていて、打ち込んで実行してみました。アルファベットを並べてでき上がっているヘビがだんだん長くなりながら動きます。自分にぶつからないようキーで動きを操作します。Basicで書くと何をしても動作は遅く、比べてキビキビした動きだったので機械語は凄いんだ、と思いました。「ハードウェアの能力を限界まで引き出す」くらいのことが書いてあったのを憶えています。Basicでテニスのゲームを書いていたとき、プログラムが長すぎて「メモリが足りません」(英語で)というメッセージが出たことがあります。今では考えられないことですよね……。

 仕事を始めてすぐパソコンを買いました。やはりNECのPC-9801VX21です。職場にある機械よりずっと速く、プログラミングについてはこれを使ってある程度まとまった勉強ができました。河西朝雄先生の本を何冊も買い込み、アセンブラ、Cはこの頃に憶え、ファイルのコピーやプリンタのコントロール、ディスクのフォーマット(フロッピーディスクの時代にはこれが必要でした)、簡単なゲームなどプログラミングして楽しみました。大変お世話になったのがこれ。 

職場でパソコンをケーブルでつないでチャットするプログラムを書いたりも。これも今では考えられないことですが、当時(MS-DOSの時代)はパソコンで動かせるソフトはひとつだけでした。ワープロを使っている間はデータベースを使えないのです。ワープロをいったん終了させて、データベースのソフトを立ち上げなければダメでした。今はいくつも起動しておき、好きなときに好きなことをできますよね。そうすると「ワープロを使っている最中に時刻を表示するソフトは書けないか?」といったことになります。制限はありましたができました。常駐プログラム(レジデントプログラム)と言います。他のソフトの邪魔をしないよう、あれに注意してこれに注意して……と説明している本がいくつかあり(『レジデントプログラム入門』など)、夏休みなど夢中で書いていました。 

MS‐DOS レジデントプログラム入門
 

まだ続きます。この後、プログラミングの世界が大きく変化します。

 今に比べるとハードウェアもソフトウェアも未発達で、考えてみればたいしたことはできませんでした。でも夢があった! 「PCが1台あればなんでもできる!!」という感じです。あのときもっといろいろ勉強しておけばよかった……気もします。