エイダ・ラブレスのプログラムは実際に何をしたのか (2018)
(twobithistory.org)-
マイクロソフト創業の物語
- 1975年、ポール・アレンとビル・ゲイツは Altair マイクロコンピュータ向けの BASIC インタープリタを開発した。
- 彼らはハーバードのコンピュータシステム上でエミュレータを使ってテストし、実際の Altair でも正常に動作した。
- この成功をきっかけに、アレンとゲイツはマイクロソフトを設立した。
-
エイダ・ラブレスと最初のコンピュータプログラム
- エイダ・ラブレスは1843年にコンピュータプログラムを書いたが、そのコンピュータ自体は製作されなかったため実行されなかった。
- ラブレスのプログラムは世界初のコンピュータプログラムと呼ばれており、彼女の貢献については議論がある。
- ラブレスは、演算を繰り返し可能なグループとして構成する方法を考案し、ループを発明した。
-
ベルヌーイ数計算のためのラブレスのプログラム
- ラブレスはベルヌーイ数を計算するためのプログラムを設計した。
- ベルヌーイ数は数学の古い問題に関係しており、多くの数学者がこれを研究してきた。
-
チャールズ・バベッジと機械式コンピュータ
- バベッジは、階差機関と解析機関という2種類の機械式コンピュータを設計した。
- 階差機関は対数表を機械的に計算するために設計され、解析機関はより複雑な演算を実行できた。
- 解析機関はパンチカードでプログラム可能で、乗算と除算も行えた。
-
訳者のノート
- ラブレスは Menabrea の論文を英語に翻訳し、自身のノートを追加した。
- 彼女は、機械が数学的演算だけでなく、作曲のような多様な作業も実行できることを予見していた。
-
ラブレスのプログラムと最初のプログラマ論争
- ラブレスのプログラムは、ループと分岐を含む複雑なプログラムだった。
- 彼女のプログラムにはいくつかのバグがあったが、これは複雑なプログラムを書こうとした試みの一環と見ることができる。
- ラブレスは最初のプログラマと呼ばれており、彼女のプログラムは当時の他のプログラムよりはるかに先進的だった。
1件のコメント
Hacker Newsの意見
Lovelaceの「開発ダイアグラム」で
v5 / v4と表記された部分は、実際にはv4 / v5であるべきで、印刷ミスだった可能性が高い。この誤りは、コンピューティング史上最古のバグだとみなされているLovelaceは、作業を反復可能なグループとしてどう構成するかを慎重に考え、ループを発明した。変数の状態変化を追跡することの重要性を理解し、それを表す記法を導入した
1975年、Paul AllenはBASICインタプリタをAltairマイクロコンピュータで実演するため、Albuquerqueへ飛んだ。AllenとGatesは動作するAltairを持っていなかったため、Harvardのコンピュータシステム上でエミュレータを使ってテストした
Lovelaceの仕事で最も素晴らしい部分は、翻訳に添えられた「注記」にある
Menabreaは解析機関を「長い計算を自動化するための道具」と見なし、それによって科学者がより高度な思考を行えるよう知的能力を解放すると考えていた
LovelaceのプログラムをCに翻訳したものは、変数名があまり助けにならないことを除けば、それほど見慣れないものではない
Babbageが書いたプログラムの詳細を知りたい人もいる。Lovelaceが最初のプログラマだということは、Babbageが自分の機械をどう使うか考えていなかったことを示唆している
Babbageの命令セットで仮想マシンを構築し、Adaのプログラムを試した人がいるのか気になる人もいる
Augusta Ada King、Lovelace伯爵夫人として知られた彼女の当時の呼称について気になる人もいる。当時は称号を姓のように短縮して呼ぶのが一般的だったのか、それとも最近そうするようになったのかという疑問だ
1 - 1 + 1 - 1 + 1 - 1...のような数列について、Python、確率、無限大との関連から探究した経験を共有する人もいるsupertasksと関係している