コンピュータとは結局のところ電気信号の流れである。 電気が流れているか、流れていないか、の判断しかできないのだ。 そのため、恐らく初めはひどく原始的なものだったに違いない。 簡単な電卓程度のものが起源であったろう。 しかし、四則演算しかできないような計算機でもその機能を組み合わせて応用することができる。 すると今度はルートの計算や微分・積分などができるようになる。 そうしてできたものは単純な計算機が複雑に絡み合ったものであるにも関わらず外から見れば 微分・積分までできる単体の上級な計算機に見える。 そうなると今度はその上級計算機を部品として新たな応用機械を作ることができる。 コンピュータの歴史はこうやって積み上げられてきたようだ。 今では応用に応用の重ねられたコンピュータはロケットの発射角度の計算に使用されたり 3Dの立体CGを描画するのに使われたりしている。 ソフトウェアでも過去のプログラマ達が作ったプログラムを利用してさらに複雑なことを実現する。 そうする中でこのような格言ができた。 「車輪の開発をしてはいけない」 どういう意味かというと、いい車を作ろうとしたときに車輪から開発していては駄目だというのだ。 今まで散々開発し尽くされてきたものをまた一から作るようなことに労力を使うなということだ。 すでにあるものはとことん利用し、つぎ込むべきところに労力を使ったほうがいいものが作れる、ということだ。 素晴らしく正論である。 オレはたまに仕事で自分が欲しいと思うようなプログラムを書くことがある。 繰り返しが多く手作業でやるには少しめんどくさいと感じられる作業。 こういう作業にはコンピュータが一番適役だ。 たまにはこういうのを手作業でちまちまやってみたくなるのだが、そういう特別な気分の時は別としよう。 こういう場面で多くのプログラマはチャチャっとプログラムを組みそいつを走らせる。 そして機械が文句も言わずに処理している間、悠々とコーヒーでも飲む。 これがプログラマの幸せでもあるのだ。 これが最善の解決法だった時代もあったことだろう。 あったことだろう、というのはご想像通り、今では最善の解決法とはいえないのだ。 インターネットがこれだけ広まった現在、今言ったようなプログラマは要領が悪いといわれる。 上記のような境遇でまずしなければいけないのは 誰かがその作業をするプログラムを作ってないか探す これなのだ。 実際オレもよくやってしまうのだ。 一生懸命プログラムを作って処理したずっと後になって同じことをやってくれるフリーソフトを見つける。 しかもその作者は何回もそのプログラムを見直し、修正しているから質も高い。 こういうときオレはまたやっちゃった、と思うわけだ。 うろ覚えだが何かの本で読んだ。 昔、学生が軍隊の何らかの地位につくための何かの試験があったらしい。(「何」だらけだな。。。) それには高度な化学の知識が必要だったということだ。 そこでこのような問題がでた。 「現在所持している石炭を使用し、石油を一番効率よく得られる方法を書け。」 受験生はみな、自分達が勉強してきた化学式を駆使し必死に取り組んだことだろう。 普通の人間は石炭から石油が作れるなんてことも知らない人が多いはずだ。 だからこそ彼らにとってこれは自分達の存在意義を刺激する非常にエキサイティングな問題だったに違いない。 しかし驚くべきことに、そこにこのような解答を書いた者がいたのだ。 「石炭を売って石油を買う」 オレはこれを読んだときにこいつは天才だと思った。 まさにコロンブスの卵。 頭の中が化学式で一杯の受験生とは違い、見事に客観性を維持している。 さらに驚いたのは当時の採点官がこの解答を正解にしたということだ。 採点官も一本とられたということだろうか。 プログラマもこの罠に陥りやすい。 なんでも自分で作ろうとするのはそれが好きだからだ。 そこに自分の価値を見出しているからだ。 しかし、やはりそれではうまくいかないことが多い。 求められるものに対して何が一番近道かをいつも考えなければいけないのだ。 どんなに石炭をいじくり倒したくなったとしても泣く泣くそれを売らなければいけないこともある。 それがプログラマの使命でもあり、悩みの種でもあるのだが。 続く... 今日の一言 だって作りたいんだよ〜(泣) |