大学も四年目になって、私が担当教授のもと研究室に配属されたのは一九九二年のことだが、そこで実験解析や論文作成などあらゆる目的に使われていたアップルの「マッキントッシュ」というパーソナルコンピューターに、私はたちまち夢中になった。マックが採用していたグラフィカルユーザーインターフェース、提供していた操作環境が、当時いかに革新的で、どんなに競合する他のシステムを引き離していたか、思い返すだに不思議な感じさえする。
しかしここでは、このマックから受けた最初の喜ばしい衝撃ではなく、二番目の、もっとずっと気分の悪い衝撃について書きたい。すなわち、
「どうしてこのマックというやつはしばしばエラーで止まるのか」
である。
そう、買ってきたほぼそのままの状態で、何も特別なことはしていないにもかかわらず、マックは時折、エラーを出してシステムが止まるのである。データを整理しているとき、論文を書いているとき、印刷を始めようとしたとき、突如として、画面にぺろっと「爆弾」のアイコンが出てきて、システムが白旗を揚げる。爆弾なしの白いウィンドウがぱかっと表示されるときもあったし、突如として反応がなくなり、うんともすんとも言わなくなることもある(この状態を表して「フリーズ」と呼ぶ便利な言葉は知らなかった。まだなかったのかもしれない)。少しずつ挙動がおかしくなってゆき、作りかけの書類一式を巻きぞえにして、画面がめちゃくちゃにとっちらかることもあった。
私のプログラマとしてのごくごく初歩的な経験と、ゲーム機やワープロ、当時の他のパソコンやもっと大型のコンピューターを使っての感覚に照らして、これは恐るべきことだった。確かに、自分で作ったような素人プログラムは、つくりがいいかげんなので、エラーで止まることがある。しかし、そのようなプログラムでも、辛抱強く修正を繰り返してゆくと、どこかで「完成」と呼ぶべき状態に達する。完成したプログラムは不正な操作をしない限り変なことは起きない。商品として売っているようなすぐれたプログラムは、不正な操作を行ってさえエラーなんか起きない。ところが、この「マック」は違うのである。まじめに生きている善良なユーザーになんでもないところでエラーを食らわす。書きかけの書類を消す。極端な話ハードディスクに保存しておいた書類も消す。
とんでもない、と思った。ちゃんと作れば避けられるはずのミスを怠惰にも修正しないで、欠陥品を売っているのだと考えずにはいられなかった。アホが作ったアホシステムかと思った(※)。
しかし、そう憤ってマックを使うのなんてやめてしまったかというと、そうはしなかったのだから不思議である。「エラーが出るところもまた素敵だった」というふうに言えれば私も人間としてよくできているとは思うが、そうではなくて、突き詰めて言えば他に選択肢がなかったからである。ときどきエラーによって失われる時間や手間を考えてさえ、マックを使うことで節約できる時間や手間のほうが大きかったのだ。もっともこれは、本体やソフトウェアを購入する資金が自費ではなく研究室の予算から出ていたからこそ言えることかもしれない。
それはさておき、よくよく考えれば不思議なこととして、この「爆弾」アイコンがある。これは、システムに回復不可能なエラーが発生したという合図であり、画面に爆弾をかたどった絵が表示されると、ふつう、ユーザーにできることはもうなにもない。ひとしきり不運を嘆いた後はリセットボタンを押して最初からシステムを立ち上げなおすことになる。不思議なのはこれである。エラーが出て、システムが破壊されているのに(たぶんそうだと思われるのに)どうして爆弾を出す余裕があるのか。
ここで、爆弾の絵をメモリから取り出してきて表示しているのは誰かというと、マックを動かしているシステム(ソフトウェア)である。たぶん。しかし、爆弾を出す原因を作ったのは何かというと、やはりマックを動かしているソフトウェアである。このへん、内部構造をよく知っているわけではないのでなにか勘違いしている可能性も捨てきれないが、爆弾を出しているヒマがあったら、発生したエラーをなんとかする、などということはできないのだろうか、といつも思っていた。辞世の句を考える余裕があったら生き延びる努力をしたらどうか、ということである。
こう考えてゆくと、爆弾もそうだが、エラーメッセージを出して止まるということ自体、あってはならないことだと考えられる。「フロッピーを勝手に抜かないでください」というような、明らかにパソコンの外(ユーザー側など)に原因があって、パソコンのシステムがそれに対して文句を言っている場合は別だが、もっと内的な、ソフトウェアだけに原因があるような場合、エラーが出せるということは、その原因が判明しているということであり、原因が判明しているということは、システムのほうでやれることがまだある、ということなのである。
一般に、パソコンがユーザーに出すエラーメッセージは、意味がよくわからないものである。当時、実に奇怪に思ったものだが、ゼロで割ったとか、浮動小数点演算コプロセッサがないとか、メモリなんとかを参照したとか、もう、言われたからといってどうしようもない、ほとんどいいがかりのようなことを言ってくる。
これは、なにも私のようなユーザー向けに出しているのではなく、デバッグを行うであろうアプリケーション開発者向けなのかもしれなくて、だから私にわからなくても意味はある、という考え方もあろうと思うが、つまり、もう一つこれには「わけのわかるメッセージは表示する意味がない」という理由があるのかもしれない。一般的なユーザーでも十分に原因を推測可能な、わけのわかるエラーメッセージをきちんと準備できるのなら、そういう時間や手間は、そういうエラーを起こさない方向、起こっても自動的に復旧する方向に向けられているはずだからだ。
ということは、製品として発売されたあと、残るのは、プログラムを作っているメーカーにとってもわけがわからなかった、だからして手の施しようがなかったメッセージだけということになる。すなわち、エラーメッセージは一般にわけがわからないのだ。爆弾も、システムにはほかにできることがなにもないので、出しているだけだったのかもしれない。辞世の句を読むほかにできることはなにもないという状況は、なんだかんだ言ってあるものである。
新聞などの悩み相談で、ときおり「そこまでわかっているならあなたは大丈夫です」「あなたは既に理解しているはずです」という回答に出会うことがある。また、カウンセラーの方法論として伝え聞くことによると、今直面している問題を言葉にして誰かに聞いてもらうことで、それだけで、ある程度問題が解決したことになるのだそうだ。このへん、ちょっとパソコンのエラーメッセ―ジに似ていなくもないと思う。そしてさらに、こっちの場合も、残るのはきっと、エラーにならないエラーだけなんだろうなと、そう思う。願わくば、我々の人生が安定したものでありますように。