追悼 — マーガレット・ハミルトン、1936年8月17日 – 2026年9月30日
← 巨人の肩の上に戻る
Margaret Hamilton
Terry A. Davis
アポロ司令船モックアップ内のハミルトン、1969年。写真:NASA(パブリックドメイン)。
追悼
Margaret Hamilton
1936年8月17日 – 2026年9月30日 · 計算機科学者 · アポロ飛行ソフトウェア責任者 · 「ソフトウェア工学」の母
マーガレット・ハミルトンは、アポロ計画の機上飛行ソフトウェアを書いたMITのチームを率いました——現代の腕時計の何分の一かのメモリしか持たないコンピュータで、乗組員を月へ導き帰還させるコードです。彼女はその作業をしながら、分野そのものを発明していきました。ソフトウェア工学 という言葉を造ったのが彼女であり、当時その言葉は冗談として扱われていました。
パオリからケンブリッジへ
マーガレット・ヒーフィールドは1936年、インディアナ州パオリに生まれ、詩人で哲学教授の娘として、一部をミシガン州アッパー半島で育ちました。アールハム大学で数学を——副専攻に哲学を——学び、1958年に卒業。同年、ジェームズ・ハミルトンと結婚しました。娘のローレンは1959年生まれです。
彼女はブランダイス大学で抽象数学の大学院に進むつもりでした。しかし夫のハーバード・ロースクール在学を支えるため、MITで臨時のはずの職に就きます——エドワード・ローレンツ (そう、カオス理論のローレンツ)のためにLGP-30とPDP-1で気象予測ソフトウェアを書く仕事です。プログラミングの講座など存在せず、やりながら覚えるしかなかった。彼女はすぐに上達しました。
それがMITリンカーン研究所とSAGEプロジェクト——大陸規模の防空システムで、失敗が許されないソフトウェアを最初期に要求したシステム——へと彼女を導きました。リンカーン・ラボでハミルトンは、誰も直せないプログラムを直す人物として評判を得、同僚たちは最も手強く奇妙なバグを彼女に回すようになりました。彼女は大陸を守る機械の上で、耐故障性を学んでいたのです。
アポロ
1965年、MIT計測研究所(後のドレイパー)はアポロの機上誘導のNASA契約を獲得していました。ハミルトンはMITでアポロ・プロジェクトに採用された最初のプログラマーであり、それにプログラムした最初の女性でした。無人ミッションから始め、有人の司令船・月着陸船の飛行ソフトウェアを書くチームのリーダーへと昇進。1968年には司令・機械船のソフトウェアを統括し、取り組みの頂点では400名以上がアポロのコードを書いていました。
彼女のコードが飛ばさねばならなかった機械は、その小ささで有名です。アポロ誘導コンピュータは約85キロヘルツで動作し、ロープメモリは約72キロバイト——「小さな老婦人たち」と呼ばれた工員がフェライトコアに一筋ずつ手で通して織り上げたものでした。ソフトウェアはそのメモリに書き込まれるのではなく、製造されて組み込まれる のです。後から修正する手段はありませんでした。
有名な写真:アポロ誘導コンピュータのソフトウェア印刷物の隣に立つハミルトン——彼女の身長ほどの山。一枚一枚が成果でした。(ドレイパー研究所 / パブリックドメイン)
娘はNASAより先にバグを見つけた
ソフトウェア史上最高の逸話の一つは、子供のものです。当時8歳ほどのローレン・ハミルトンは週末に研究所へ来て、シミュレータで宇宙飛行士ごっこをしていました。ある訪問時、シミュレーションの最中にキーを叩き、飛行中に打上げ前プログラムを起動してしまい——コンピュータの航法データを消去しました。何が起きたか悟ったハミルトンは、そのシーケンスが飛行中に実行されないようエラーチェックを入れるよう主張します。上からの答え:宇宙飛行士はミスをしないよう訓練されている。起こり得ない、と。
アポロ8号で、宇宙飛行士ジム・ラベルは——ローレンがしたのと全く同じことをして——同じプログラムを誤って起動し、月を周回しながら航法データを消去しました。ハミルトンのチームは不眠不休でテーブルを再構築し、乗組員を帰還させました。彼女が求めたチェックはその後に追加されました。すべてのプログラマーが知る教訓です:人間ができる操作は、人間がいつかする。
彼女の正しさを証明した3分間
彼女の最深の執着はエラー処理でした——当時としては急進的な立場です。ソフトウェアは動くか失敗するかのどちらかと見なされていました。ハミルトンは、故障をくぐり抜けて動き続ける べきだと主張しました——乗組員に何が悪いかを告げ、最優先の仕事をまず守るように。アポロのソフトウェアは優先度スケジューリングのエグゼクティブ下で動き、「優先度ディスプレイ」が警報を隠さず表示しました。
1969年7月20日。アポロ11号が静かの海へ降下する中、誘導コンピュータが1201・1202エグゼクティブ・オーバーフロー警報 を鳴らし始めます——ランデブーレーダーが不要なデータを送りつけ、機械に能力以上を要求しているためです。ハミルトンの設計は設計された通りに動きます:低優先度の仕事を捨て、着陸の飛行を継続し、起きていることを乗組員に伝えます。ヒューストンでは、警報コードを暗記していた24歳の技師ジャック・ガーマンが、フライトディレクターのスティーブ・ベイルズに警報の意味を説明します。指令が上がります:「ゴー」。 アームストロングとオルドリンは着陸しました。
彼女が残した教訓: 警報は故障ではありませんでした——誰も完全には予見できない条件下で、設計された通りのことをするシステムだったのです。苦しむときに真実を語るソフトウェア、大事なことを順位づけるソフトウェア、黙って死ぬのでなく優雅に縮退するソフトウェアを書くこと。その考え——驚きではなく設計された振る舞いとしてのエラー——は今も良い工学の心臓部であり、コードを実行前に 解析するツールの背後にある同じ本能です。
「ソフトウェア工学」
ハミルトンが自分たちの仕事を「ソフトウェア工学」と呼び始めたとき、年長の同僚は笑いました——工学とはハードウェアであり、ソフトウェアは打ち込むものに過ぎないと。彼女はその言葉を使い続け、仕事そのものがそれを否定不可能にするまで——要求、設計、テスト、シミュレーション、レビューを持つ一つの分野であることを。言葉は懐疑論者を生き延びました。今やそれは職業の名前です。そして彼女は名付けただけでなく、月への途上でその意味を示したのです。
アポロの後 — 構築による工学
ハミルトンはその後の数十年を、アポロが教えてくれたことの形式化に費やしました:システムは設計によって 正しくあるべきで、後からデバッグで正しさに近づけるものではない、と。1976年、彼女はHigher Order Software を共同創設し、設計ツールUSE.ITを生み出しました——公理的規則の下で仕様化されたシステムで、コードの一行が動く前にエラーのクラス全体が防がれます。1986年にはケンブリッジでHamilton Technologies を設立し、Universal Systems Language(USL) とその001ツールスイートを開発——「事実の前の開発」、ソフトウェアが仕えるシステムの厳密さを継承するシステム工学です。彼女はその仕事を生涯率い続けました。
受賞
1986 — オーガスタ・エイダ・ラブレス賞、Association for Women in Computing(初の受賞者)
2003 — NASA Exceptional Space Act Award — NASAが個人に授与した史上最大の賞
2007 — バード大学名誉博士号
2009 — アールハム大学優秀同窓生賞(後に名誉学位)
2016 — 大統領自由勲章 — アメリカ合衆国の最高文民勲章
2017 — LEGO「Women of NASA」セットに登場
2019 — イントレピッド生涯功労賞
ハミルトンに大統領自由勲章を授与するオバマ大統領、2016年——「人類を宇宙へ送るのを助けた、歌われることのない女性たちの世代を体現している」。(ホワイトハウス写真 — パブリックドメイン)
最後の言葉
ハミルトンは2026年9月30日、ケンブリッジで亡くなりました——ソフトウェアが何になり得るかを初めて学んだ研究所の見える場所で。90歳でした。娘のローレン——NASAのプロセスが見つけられなかったバグを指先で見つけたあの少女——、女婿、二人の孫息子、四人のひ孫が残されました。NASA長官は彼女を「アポロと人類初の月への旅を可能にした先駆者」と呼びました。追悼式がケンブリッジで計画されています。
"再挑戦はありませんでした。それは分かっていました。私たちは仕事を真剣に受け止めていました。その旅を始めたとき、私たちの多くはまだ二十代でした…道を見つけなければならず、そして見つけました。振り返れば、私たちは世界一幸運な人間でした。先駆者である以外に、選択肢はなかったのです。"
— マーガレット・ハミルトン、MIT News、2009
なぜ巨人に名を連ねるのか
このサイトは人々にプログラミングを教えるために存在します。ハミルトンは、プログラミングが人命の重みを担えることを証明した人物です——そしてそれには厳密さ、謙虚さ、そして来ないことを祈る故障への設計という意志が必要だということも。真夜中の研究室でデバッグする母、静かの海への降下であきらめることを拒んだコンピュータ、そして彼女が実行することで真実にした言葉——工学 。それこそが、巨人の肩が存在する理由です。
出典と参考文献
← 巨人の肩の上に戻る