素歩人徒然 疲労の原因 オブジェクト指向は疲れる?
素歩人徒然
(2)

疲労の原因


── オブジェクト指向は疲れる?

 疲れている。
 近頃の私はひどく疲れている。何となく疲れがたまってしまい、休んでもなかなか疲労がとれないのだ。これはまあ、年齢のせいだから仕方がないことかもしれない。それにしても歳は取りたくないものである。

 しかし、つらつらと思い返してみると私がこのように疲れやすくなったのは、どうもパソコンでWindowsシステムを使うようになってから以降のことではないかと思う。時期的に符合するような気がするのだ。

 DOSに比べると、Windowsは格段に使い勝手がよくなったと言われている。たしかにその通りであろう。初心者が、手探りででも何とかコンピュータを操作できるようになったのだから、これは素晴らしい技術進歩だといってよい(もちろん使い方の程度には、そりゃ〜、人によっていろいろと差はありますけどね)。その結果が利用者人口の爆発的な増加へとつながり、現在のパソコンブームの引き金の一つとなったのであろう。

 たとえば、パソコン上でファイルをコピー(複写)するとしよう。DOSの時代には、そのためには copy というコマンドを覚えなければならなかった。というファイルをコピーしてという名のファイルを作りたければ、

     copy a b [Enter]

などと入力する。まるで呪文のようだが、これでも見る人が見れば分かるのだ。[Enter]は、むろん Enter キーを押せという意味で、まあ呪文のしめくくりのようなものですな。

 普通はの前に書かれる場所を表す修飾子が異なるだけで、同じ名前であることが多い。つまりファイルの写し(コピー)を取るようなものである。しかしマニュアルを読むと、copy コマンドの項にはもっと沢山のことが書かれている。普通、説明には4〜5ページが費やされている。もっともっと、複雑な機能を備えているものなのである。copy コマンドを使う人は(一応、たてまえの上では)これらの説明文を読破(?)していなければならないことになっている。

 一方Windowsでは、そんなものを読む必要などさらさらない。ファイルを選択し、メニューバー上の[コピー]をチョイと突っついてから、移動したい場所を開いて今度はメニューバー上の[貼付け]を突つけばよい。あるいは、ファイルを選択したらそのまま移動先まで引きずって(ドラッグして)いって、そこで放してやるという手もある(注1)。こちらの方が直感的で分かりやすい。こむずかしいマニュアルの説明など読まなくても、こういった“直感的な動作”ですべてが実現できるようになっている。
【注1】[Ctrl]キーを押しながらドラッグするとコピー、押さないと移動となる。

 おまけに、コピー動作が実際に始まるとその間は画面上に絵が出て、左側に表示されたファイルバインダーから紙切れが飛び出して、右側にある別のファイルバインダーにひらひらと移動する様が見られるときている。初心者は、これを見せられるとすっかり感心してしまう。中には感激してしまう人もいる(とは言っても、いつまでも感激している人はあまり見かけないが)。

 ところで、私は会社の仕事が終り帰宅するときは、何時もそのとき最も関心のある作業対象のディレクトリ内容を、そっくりフロッピーディスクに保存して家に持って帰ることにしている。家にあるマシン上に(まったく同じではないが)似たような構造の作業環境が作られているので、家で仕事の続きができるからである(ご苦労なことよのう)【注意】そこで、会社の仕事が終り帰宅する直前には何時も(特に週末の金曜の夜には必ず)この(1)ファイル選択、(2)ドラッグ、(3)開放という一連の作業をやることになる。ほんと、ご苦労なことではないか。私は、最近疲れがひどいのはどうもこれが原因ではないかと思うのである。毎日、仕事が終って最も疲労困憊しているときに、更にこのコピー作業をせっせと行わなければならないのだ。せっせ、せっせと‥‥。まったく、この歳になって、くたびれることばかりである。
【注意】最近頻発している個人情報流出事件に鑑み、こういった行為を素人は真似してはならない(2006-4-1 追記)。

 私はDOSの時代から、このファイルを保存して家に持ち帰るという習慣を長年に渡って続けてきた。しかし、そのために疲れるというようなことは今まで決してなかった。DOSでは、バックアップファイルを作るのに BACopy という便利なツールを使っていたからである。これは、昔PC−Magazineという雑誌に出ていたプログラムを見て作ったものであるが(もはやソースプログラムは残されていない)、便利なので長年使い続けてきたのである。新旧のファイルのタイムスタンプを比較して、変更があったものだけを吸い上げて保存してくれるので、作業時間は極めて短時間ですみ重宝している。

 このプログラムのファイル作成日は“86-09-09”となっているから、実に10年間近くほとんど毎日繰り返して使ってきたことになる。もちろんこのツールを裸のままで使っている訳ではなく、DOSの基本的なコマンドと組み合わせてコマンドスクリプトの形で記述されたシェルプログラムとして実行しているのである。ファイル保存は“fout”で、ファイルの復元は“fin”で、という具合である。

 DOSの基本的なコマンドを覚えるのは面倒ではあるが、それも最初のときだけの話である(コマンドの詳細など、もはやよく覚えてはいない)。BACopy プログラムの使い方を覚えるのも結構面倒くさいが、これも最初のときだけのこと。詳細はすぐ忘れてしまって構わない。つまり一時(いっとき)だけ努力をし、その内容を“消化”して完全に自分のものにしてしまえば、後は詳細を忘れてしまっても一向に構わないのである。“fin”と“fout”という自分の作ったシェルプログラムの名前さえ覚えていれば、それですべての用が足せるのである。

 これが更に次の段階に進むと、「コピー作業」などという一般労働者諸君(渥美清の表現を借用!)がやるような土方作業の部分は忘れてしまってよい。そういう本質的でない部分、つまりコピー作業などという概念は完全に自分の中で“昇華”されてしまって、ただ“fin”あるいは“fout”という呪文を唱えるだけでよいという段階に立ち至る。こうなるともう悟りを開いたようなもので、“fin”と“fout”という“証果”(注2)を得て、ただ呪文を唱えるだけですべてが自分の思い通りになるという訳だ。
【注2】証果とは、修行によって得る悟りの結果のこと。

 つまり、帰宅するときは、フロッピーを挿入して“fout”と唱えればよい。帰宅したら“fin”と唱える。日曜日の夜になると家で“fout”と唱え、翌日出社したらまた“fin”と唱えればよいのである。実に簡単なことではないか(なるほど、しょうか、しょうか)。

 DOSからWindowsシステムに移行してからも、私はしばらくの間はこの BACopy というツールを使い続けてきた。しかし、いわゆる“8.3形式”のファイル名をやめて“longlong.name”を使うようになってからというもの、そろそろこのツールを捨てる時期がきたかと自ら観念するに至ったのである(よくぞ、10年間も使い続けてきたものよのう)。

 然るに、Windowsシステムに移行してからはどうか。毎日毎晩、私は、(1)ファイル選択、(2)ドラッグ、(3)開放という土方作業をしなければならないはめに陥っている。これは肉体的にはもちろんのこと、精神的にも大変疲れることなのである。何しろ、常に「コピー」ということで頭の中を一杯にして作業しなければならないからである。いくらこういった土方作業を繰り返したところで、決してそれが「消化」されて自分の血となり肉となることはない。決して「昇華」されて、コピー作業のことを忘れてよい状態になる訳ではない。決して「証果」を得て、呪文をとなえるだけで自分の思い通りの結果が得られるようになる訳でもない。Windowsとは、実に疲れるシステムである。

 オブジェクト指向という概念を理解するには、プログラム上の処理を我々の実社会・実生活の上での行動モデルに置き換えて考えるのがコツであるという。Windows95も、そういう技術動向を先取りして将来の本格的なオブジェクト指向OSへの橋渡しの役割りをになっているのであろう。だとすれば、こういった要求に対しても当然何らかの解決策を用意していなければおかしい。そう思ってWindowsのブリーフケースの機能(注3)をあれやこれやと試しているのだが、どうも私の希望にかなうものではないようである。結局は、ブリーフケース自体をコピーしなければならないことになる。しかも家では、そのブリーフケースからファイルを取り出せないのだ。多分、ブリーフケースの中で使えということなのであろう。これでは、とても呪文を唱えれば済む“悟りの状態”にはなりきれない。
【注3】主コンピュータ上にあるソースプログラムを、ブリーフケースに移して持ち歩き、ソースプログラムの一元管理を行うための機能。

 オブジェクト指向の時代を迎えて、私のような年寄りも再び一般労働者諸君と同じような土方仕事をしなければならなくなってしまった。悟りの世界から現実の世界に引き戻されてしまったのである。オブジェクト指向の時代というのは、私のような年寄りには真に残酷な時代だといえるのではあるまいか。それとも、今は本格的なオブジェクト指向の時代を迎えるにあたっての、過渡期にあるためであろうか。

 そのうちに“ある何か”に対して「コピー」というメッセージ(呪文)を送るだけで事が済むような便利な時代になるのだろうか。早くそうなってほしいものである。しかし私は、メッセージという形であれ何であれ、人あるいは“ある何か”にものを頼むよりも、ただ自分の心の中で“fin”とか“fout”とかの呪文を唱えるだけで事が済む方が、数段手っ取り早くて使いやすいと思うのである。それに何よりも、呪文の方が“疲れない”ではないですか。

 このままでは、そのうち「オブジェクト指向とは疲れるものだ」と利用者に思われるようになってしまうのではないかと怖れている。そうならなければよいのだが。■

(終り)
【追記1】その後、ブリーフケースの機能を使い込んで何とかこれを飼いならすことに成功した。うまく使うコツは「ブリーフケースを持ち歩かない」ことであると判明した。
 管理すべきソースファイルの方をフロッピーディスクなどに保存して持ち歩き、ブリーフケースの方は会社と家のマシンの両方にそれぞれ用意しておいて、それは持ち出さないことにするのである。ブリーフケースはデスクトップなどには置かず、任意のディレクトリ上に置いておいて普段のファイル変更はこのブリーフケースの中で行うのである。帰宅するときは、くだんのフロッピーディスクを a: に挿入してから、次のような呪文をとなえればよい。つまり、ブリーフケースを右クリックして「すべて更新」を選択する。ただ、それだけである。
 MS社の“ブリーフケース”という命名の思惑とはかなり違った使い方になるが、そんなことは私の知ったことではない。呵呵。
【追記2】

ここで紹介した BACopy の機能は、最近機能強化された xcopy コマンドを用いると、以下のように /D を指定することにより実現される。

   xcopy c:*.* a: /D[Enter]