ずっと気がつかなかったこと

 今回は、歌か詩のタイトルみたいな言葉で始まりましたが、年末年始で私は東京の実家に戻って、部屋の押し入れで私物をあさっていました。何か掘り出し物はないかと、過去の記憶をあてにして探してみるのですが、出てくるのは使えなくなったガラクタばかりでした。部品が古くなって、故障して動くなった昔のコンピュータがいくつもありました。30年以上前に買った、いわゆる286マシンとか386マシンとか呼ばれていたパソコンや、液晶ディスプレイが近年の東京の猛暑で焼けて溶けてただれてしまったノートパソコンなどは、電源スイッチを入れてもうんともすんとも言いません。ハードディスクやBIOS半導体チップ、あるいは電源装置がダメになったらしいのですが、少しばかりの部品交換をしたとしても動きそうにないジャンク品以下のガラクタになってしまったようです。

 5インチフロッピーディスク装置も、修理のつもりで、いじくりまわしているうちに壊れてしまいました。すると、5インチフロッピーディスク200枚以上に入った、ゲームソフトやユーティリティのプログラムとデータがすべて使えなくなりました。紙に書いた物とは違って、その中味さえ見ることができなくなりました。古い物とはいえ、その喪失感には独特のものがありました。

 そのように、コンピュータという機械は、何もしなくても壊れて役に立たなくなっていくものなのです。他の古い家電と同じ運命をたどっていくのだと思いました。でも、今回私が気がついたことはそれとは別のことでした。そうした押し入れの中の遺物には、20数年ほど前に、PCパーツを秋葉原の専門店で買って組み立てた、いわゆる自作マシンもありました。その筐体を取り出して、中の部品の基盤接続をいちいちチェックして電源を入れてみました。すると、何かしら動く音がして、ケーブル接続したCRTディスプレイに横文字のメッセージが出てきました。

 ”HEARDWARE ERROR ”(ハードウェア・エラー)というメッセージが出て、F1キーかDELキーが押されるまで、画面表示が一時停止となりました。DELキーを押したらば、BIOS設定画面になったのですが、ESCキーとF1キーが利きません。もうそれ以上操作が進まないので、コンピュータ本体のリセットキーあるいは電源キーを押して、何度もやり直すのですが、同じことの繰り返しでうまくいきません。結局、つながっているキーボード装置のESCキーとF1キーと、QやAやZキーなどを押しても利かない、すなわち、そのキーボードが機械的に壊れていることを見つけました。

 キーボードのPS/2プラグにつながるピンに損傷があるみたいなので、別のUSB接続キーボードにつなぎかえてみました。その自作マシンに装着されているマザーボードには、もともとUSB端子がついていましたが、今まで使う必要が一度もありませんでした。そのマザーボードに付属していたマニュアル冊子でその取り付けられている位置を確認して、金属片の小さな隠しカバーを外して、その自作マシンの購入以来初めて使ってみました。

 それで、ESCキーやF1キーが効くようにして、電源スイッチを入れた後の操作が続くようにしました。先の場面でF1キーを押すと、SCSI機器設定ユーティリティ・プログラムが動作して、2つのハードディスクと1つのCDーRWドライブをSCSI装置として認識して、SCSI番号を自動的に割り当ててくれました。それによって、先のHEARDWARE ERROR (ハードウェア・エラー)が解消して、ウィンドウズ・ミレニアムバージョン(Windows ME)が立ち上がりました。

 そのウィンドウズ・ミレニアムバージョン(Windows ME)というのは、ウィンドウズ98の次に発売された、当時の最新バージョンのOSソフトでした。当時の私は、自作マシンのためにウィンドウズ98を購入しましたが、それをグレードアップするために、そのME版を買いました。その頃は、インターネットを利用せずにパソコンを使っていたので、パソコン雑誌の付録CDからWindows98SP2増補版などでOSのグレードアップをしていました。このウィンドウズOSのバージョンは、ウィンドウズXPとウィンドウズ98(SP2)との間のものでしたが、HTMLやHTMLアプリケーションやWSH上でVBスクリプトのプログラムを私が組み始めた頃のものでもありました。その頃は、Turbo CやDelphi(Turbo Pascalのウィンドウズ対応版)などで、趣味の小さなプログラムを作ってもいました。

 何せ今から20年ほど前に使っていたマシンです。ここ数カ月のうちに作ったプログラムなど動かないと思っていました。本当に動かないのか試してみたくなるのが人情です。前回の私のブログ記事で紹介した3つの軟着陸ゲームのスクリプトなどを含むプログラムをUSBメモリを介して、その自作マシンのハードディスクにコピーしてみました。

 その結果としてわかったことは、機械語マシン語)レベルのプログラム(いわゆる拡張子.exeのアプリケーション実行プログラム)は、自作マシンのCPUがPentium2であったり、周辺装置のバス接続がSCSIである理由から、正しく動作しませんでした。何らかのエラーメッセージが出て、そこで強制異常終了してしまいました。一方、時計やカレンダーのスクリプトは、それなりに動作したものの、日付と時刻が不正確でした。これは、自作マシンの内蔵電池が切れているために、日付と時刻の設定が記憶できないためでした。そして、例の軟着陸ゲームの3つのスクリプト(VBスクリプト、Javaスクリプト、Jスクリプト)を動作させてみました。それぞれ拡張子.htaファイルは、その先頭一行目に”<HTML />”と、おまじないを付けるだけで、どれも正常に動作しました。つまり、最近ウィンドウズ・マシンで作ったスクリプト・プログラムが、20年余り昔に動いていた自作マシンとウィンドウズOSでも正しく動くことが確かめられたということなのです。VBスクリプトだけでなく、Javaスクリプトも、そして、日本語の混じったJスクリプトさえも、20年前の自作マシンで普通に動いていました。

 オセロゲーム型の人工知能自作プログラム(Reversi1.58.hta)も、その古い自作マシン上で何も問題なく動きました。VBスクリプトで比較的大きなプログラムでしたが、古いマシン上で普通にプレイができました。

 ここで、ふと私は気がつきました。プログラムという言葉には、語源的に見ると「前もって書かれたもの」という意味があるそうです。テレビやラジオの番組プログラム欄を見ても、コンピュータでプログラムが動作するのがいつなのかを考えてみても、わかると思います。いずれも、プログラムを組んだ後だとわかるはずです。つまり、私たち人間は、プログラムが役立つ前に、それを組んでいる(あるいは、作っている)というわけなのです。未来にそれが役立つために、プログラムを組んでいるというわけです。

 しかし、今回の私の場合は、未来ではなくて過去に対してプログラムを役立てた感じがしました。いつ壊れても不思議ではない、古い部品と技術で組み立てられた自作マシンで、つい最近作ったプログラムを動くか試してみて、動いた。ということです。タラレバになってしまいますが、もしも20年前の私に、現在の私の技術的なスキルがあったとしたならば、今回動作できたプログラムを20年前にすでに作れていたはずです。事実、そのためのコンピュータのハードウェア環境は、すでに用意されていました。現在、その自作マシンが正常に動作していることが、そのことを裏付けていると思いました。

 そのようなことに私が20年もの長い間に一度も気がつかなかったことは、さしずめ『空白の20年間』だったと言ってもよいかもしれません。悪く言えば、そうなります。けれども、それも人生経験の一つと見ることもできると思います。そう言えば、去年たまたま『遺留捜査』という刑事ドラマシリーズの再放送をテレビで録画していて、そのエンディングで流れる小田和正さんの『小さな風景』という歌の一節を知りました。

きっと僕は きみの心の 小さな風景に気づかなかったんだ

という、小田和正さんの歌詞がとても印象に残りました。今回の私の場合、その『小さな風景』は、古い自作マシンがCRTディスプレイに映し出たプログラムの正常に動く姿のことだったのだと思いました。