ITの源流とは、パソコンを普及させたビル・ゲイツ? スティーブ・ジョブズ? インターネットの原型を生み出したティム・バーナーズ=リー? ウェブブラウザをブレイクさせたマーク・アンドリーセン? コンピューターの原型を作ったフォン・ノイマン?
いろいろな取り上げ方ができますが、今回は18世紀、日本でいえば江戸時代に活躍し、「コンピューターの父」とも呼ばれる、チャールズ・バベッジです。
チャールズ・バベッジは、1791年ロンドン生まれの数学者。世界で初めて「プログラム可能な計算機」を考案し、「コンピューターの父」と呼ばれている。
バベッジが生まれた時代は、産業革命の時代。蒸気機関が生み出すエネルギーが、機械工業を育て、大規模な工場が誕生していた。科学分野だけでなく、速く、正確に動く機械を作るために、また大きな工場を建てるためにも、「迅速で、正確な計算」が求められた。
当時もその都度、人が計算していたわけではなく、さまざまに工夫された対数表や三角関数表など、さまざまな数表が作られ、活用されていた。しかし、もともとは人が計算していたため、どうしても計算間違いが含まれていた。
バベッジは、計算そのものを機械で行うようにすれば、間違いがなくなると考え、計算する機械「階差エンジン(ディファレンス・エンジン)」の製作を開始した。
「機械で計算する」ことは、生まれた時からパソコンや携帯電話が身近にあるデジタルネイティブ世代には想像がつかないことかもしれないが、日本でも80年代、90年代には、地方の小さなお店などでは、まだ機械式のレジが見られた。
その原理を非常に単純化して説明すると、掛け算も割り算も、すべて足し算と引き算に置き換えて計算する、というもの。足し算、引き算は、歯車の動き、つまりは機械に置き換えることができる。
バベッジの「階差エンジン」は、10年の歳月をかけたが、開発費不足などの問題から完成しなかった。しかし、その後、バベッジは、さらに高度な計算機の設計を始める。
パンチカードを使ってプログラムを組むことができ、それによってより効率的に計算を行う「解析エンジン(アナリティカル・エンジン)」だ。この「プログラム可能な計算機」を設計したことで、バベッジは、今日「コンピューターの父」と呼ばれている。
パンチカードでプログラミングするというアイデアは、当時、イギリスで使われていたジャカード織機から思いついたとされる。ジャカード織機は、織物の模様をパンチカードを使ってさまざまに変えることができた。
織物の模様を「計算方法」に置き換えたのが、バベッジの解析エンジンというわけだ。解析エンジンは蒸気機関で動き、完成すれば長さ30m、幅10mの大きさになった。バベッジは、亡くなる直前までその設計を続けた。
ちなみに1991年、イギリスのComputer History Museumは、バベッジ生誕200周年の記念事業として、バベッジの設計図をもとに階差エンジンを復元した。設計に細かいミスはあったものの、復元した階差エンジンは見事に動作した。