2014年12月10日の日記です


エイダ・ラブレイス伯爵夫人の誕生日(1815)  2014-12-10 09:25:59  コンピュータ 歯車 今日は何の日

今日は、エイダ・ラブレイス伯爵夫人の誕生日(1815)。


そして、米国防総省規格番号 MIL-STD-1815 、「エイダ」言語が正式承認された日(1983)。



エイダは世界最初のプログラマ、と呼ばれる女性です。

バベジのよき理解者で、バベジが構想していた「解析機関」の講演集をまとめたりもしています。


まずはこちらの話から。




彼女は貴族の出身で、父親は「詩聖」とも呼ばれる詩人、バイロン卿。


もっとも、彼女はバイロンのたった一人の子供ですが、生後一か月で両親が離婚し、母親に引き取られています。


父母は離婚後会うことは無かったようですが、バイロンはエイダの実の父親として、この後も多少の交流はあったようです。

エイダ自身、結婚前は「エイダ・バイロン」を名乗っています。


また、以前に「悪魔とドラキュラの誕生日」として書いたのですが、バイロンがスイス旅行した際に同行し、後に「フランケンシュタイン」を執筆したメアリー・シェリーは親友でした。



エイダの母親は数学・科学好きで、エイダにも家庭教師を付けています。

その家庭教師の一人が、ド・モルガン。


プログラムの学習をすれば、必ず「ド・モルガンの法則」として名前が出てくる人です。

どんな法則か気になる人は自分で調べてください。


ここでは、「論理性を重視した数学分野」で特に深い功績のあった数学者だ、とだけ書いておきます。




さて、そんな重要人物に数学を教わったエイダは、論理性というものを正しく理解していました。

そして、母親が数学・科学好きだったため、数学者や科学者たちとも親交がありました。


17歳の時(1833)、エイダは知人の紹介で、当時 41歳のバベジと知り合います。


バベジは、1822年から階差機関を作成中でした。

しかし、政府も資金を提供した(世界初の国家プロジェクトだった!)階差機関の作成は、10年目にして暗礁に乗り上げていました。


バベジは「完璧な機械」を作ろうとするあまり、作成中なのに設計図を変更したり、職人の仕事のやり方に口をはさんだりするのです。

雇われていた機械職人は非常に技術の高い人でしたが、ついに10年目で仲違いし、彼は去ってしまったのです。

余りにも複雑な階差機関を作れる職人は、他にいませんでした。


そこで、バベジは階差機関のほんの一部を使って、卓上型に作り直した「見世物としての」階差機関を持って、多くの人に階差機関の素晴らしさを説いて回っていました。

これには、国家予算を使い果たしてまだ足りない開発資金を提供してくれる、貴族のパトロン探しの目的もありました。


…そして、貴族の出身であるエイダも、この「見世物」を見物することになるのです。




19世紀当時、女性の地位は低く、学のある女性はそれほど多くありませんでした。

しかし、エイダは階差機関の動作に非常に興味を持ち、的確な質問をバベジに浴びせかけます。


バベジは、この若い聡明な娘さんに対して、丁寧に解説を行います。

この関係は、その後もずっと、エイダが結婚して「ラブレイス伯爵夫人」となっても続きます。


エイダはバベジの最大の理解者であり、バベジはエイダにとって多くのことを教えてくれる教師でした。




1842年頃、バベジはイタリアで、当時考案していた「解析機関」のアイディアを講演しています。


解析機関は、先に書いた、見世物にした「階差機関」とは違う新たな機械です。

階差機関は計算機にすぎませんが、解析機関はプログラム可能なコンピューターでした。



この時の講演を、イタリアの軍事技術者メナブレアが、フランス語で記録していました。

これはメナブレア記録、と呼ばれます。


エイダもバベジもイギリス人でしたが、バベジの講演はイタリアで行われ、フランス語で書かれていました。

そこで、エイダはメナブレア記録を入手し、英語に翻訳します。


そしてこの際に、バベジの協力の下で膨大な注釈を入れました。注釈が、本文の2倍にも及びます。

実際に階差機関の「プログラム」も多数添えられていますが、これらのプログラムはバベジが書いたものだと考えられています。


しかし、以前はこれらのプログラムは、注釈を書いたエイダが作ったものだと考えられていたため、エイダを「世界最初のプログラマー」だとする説が広まっています。




もっとも、エイダもプログラムは書けたようで、彼女の手によるプログラムも残っています。

バベジとプログラムの作り方が明らかに異なるため、彼女の物だとはっきりわかるのだそうです。


#プログラマの方であれば、プログラムに「個性」が出ることはお分かりであろう。


また、バベジが作ったプログラムをよく吟味し、誤り…つまりは「バグ」の指摘も行っています。



ただ、エイダは数学知識はあまりなく、メナブレアの記述ミスで、明らかに間違っている数式をそのまま翻訳しています。

現代のプログラマにも、数学的知識はあまり持っていないがプログラムは出来る、という人は多数いますので、そういうタイプだったようです。


…ただし、当時はプログラマは、エイダとバベジの二人しかいないのですが。




エイダは、数学的な知識はそれほどありませんでしたし、それほど優れたプログラムを残したわけでもありません。

しかし、解析機関の可能性については、バベジよりも的確に把握していました。


バベジは、解析機関を優れた計算機として考えていましたし、そのつもりで設計していました。


しかしエイダは、解析機関が単なる計算機を超えたものであることを感じ、人工知能の可能性にまで言及しています。





時代はずっと下って 1983年。

米国防総省は、軍事用のプログラムを行うための専用言語を開発し「エイダ」と名付けました。


この言語の正式な「規格番号」は、MIL-STD-1815 。軍事(ミリタリー)標準(スタンダード)1815、という意味ですが、1815とはエイダの誕生年です。


適当につけた番号ではなく、軍の規格として使われる「通し番号」が、この数字になるようにタイミングを見計らって付けたようです。

そして、この言語が正式に「承認」されたのは、1980年の 12月10日、エイダの誕生日でした。


軍事用なので、とにかく「バグが出ないプログラムを書く」ために工夫が凝らされています。


プログラムの作りやすさよりも読みやすさを優先する、「名前空間」を導入し変数名が衝突しないようにする、「例外」処理のための機構を作る、など、当時としては最先端の言語でした。


その思想は、その後 C++ や Java など、多くの言語に取り入れられています。





同じテーマの日記(最近の一覧)

コンピュータ

歯車

今日は何の日

関連ページ

エイダ・ラブレイス 命日(1852)【日記 15/11/27】

別年同日の日記

02年 昨日は雪でした

13年 たき火

17年 風邪ひき

18年 辞職を切り出す


申し訳ありませんが、現在意見投稿をできない状態にしています


戻る
トップページへ

-- share --

14000

-- follow --




- Reverse Link -