世界で初めてコンピュータプログラムを書いた人の話
みなさん、世界で初めてコンピュータプログラムを
書いた人の話をご存知でしょうか?
そのプログラムとは、コンピュータが生まれる1世紀も前、
18世紀に書かれたものなんです。
18世紀と言えば、日本では黒船さんがいらっしゃる激動の頃です。
その人は、エイダ・ラブレスさんです。
引用元: WikiPedia
それではいってみましょう!
ポイント
・彼女のお父さんは、詩人でとっても不良親父、お母さんはそんなお父さんからの影響を
少しでも遠ざけたいため家庭教師を雇って真逆の理数系をしこたま勉強させます。
(その当時は、女性が大学へ行く事は許されていない時代でした)
・そして、数学者で発明家でもあるチャールズ・バベッジさんと出会います。
ますます理数系の世界へのめりこんでいきます。
・バベッジさんは、複雑な数式を計算する事ができる機械の発明しました。
(現代のコンピュータの元となっています。なのでバベッジさんもコンピュータの父と呼ばれていたりします。)
・ただ・・時代が時代です。
実現するには部屋サイズの広さが必要、その巨大さ故に膨大な予算が必要。
結局実現できませんでした。
現代では、部屋サイズのコンピュータなんて考えられませんが、
当時の技術で実現するためには、機械仕掛けしかありません。なんと重さ13t!!
バックトゥザフューチャー3をご覧になった方は覚えていらっしゃるかもしれません。
現在のドクが1950年代の過去のドクにデロリアン(タイムマシン)の修理を依頼するシーンがあるのですが、
現在で1cmに満たない部品が、過去1950年代に同じ部品を作ろうとすると
車のボンネットサイズになってしまうアレと同じですね。
スマホだってコンピュータです。
それが手のひらサイズですからね。
・バベッジさんは、この開発資金を得るために論文にまとめ出版する事にしました。
・ここでエイダさん、ようやく登場!
この論文を英語に翻訳する仕事を頼まれました。
エイダさんは、この論文に自分の考えやアイデアを鬼のように注釈として加え、
元の論文の3倍の量にしてしまったんですね。(もちろんバベッジさん快く了解済み)
・そしてこの注釈の中で、計算機械に対して動作させるプログラムを書いています。
計算させる指示を機械がわかるように、記号に置き換えたりしてコードを作成するアイデアです。
この部分が世界で初のソフトウェアであり、世界初のプログラムとされています。
・さらに、この中で、現在のプログラミングにおいても使わない事はないであろう
「ループ(機械に一連の命令を繰り返させる方法)」
「サブルーチン(繰り返させる処理をまとめる方法)」
という二つの重要な概念まで理論化しました。
・開発者のバベッジさんは、計算機としてしか考えていなかったのですが、エイダさん、
やはり注釈の中で現代のコンピュータに繋がる事を発想しています。
「例えば、楽曲と音階の科学的な関係が、こうした表現と適応の影響を受けているとするならば、
この機関は精巧に、そして科学的に、複雑さや広がりを持った音楽を奏でるかもしれない」
これは、この機械は計算できるだけでなく、
芸術の分野でも活躍できるうるかもしれないという..
まさに現在のコンピュータの汎用性に繋がる事を考えていたのです。
すごいですね!
ロンドンサイエンス博物館に展示してある実際にバベッジさんの設計図から構築されたもの 引用元: WikiPedia
そして彼女はとても重要なもう一つの素質がありました。
「こうと決めたら諦めない」という粘り強さ
いくら才能があっても、この素質がないと難しいですよね。
彼女は、女性が認められにくい時代に生きたので、彼女の功績が認められるのは、
かなりの時間が必要でした。
1980年に米国国防総省に、新たに開発されたコンピュータ言語には、
彼女の栄誉をたたえ「Ada(エイダ)」と命名されています。
また、毎年10月の第2火曜日は、エイダ・ラブレス・デーと名付けられ、
科学・テクノロジー・エンジニアリングなどの分野で活躍する女性を称える祝典が行われています。