Margaret Hamilton氏が90歳で死去、Apolloソフトウェアの先駆者
Margaret Hamilton(マーガレット・ハミルトン)氏が9月30日、90歳で亡くなりました。MITでApolloの飛行ソフトウェアを作るチームを率い、ソフトウェア工学(software engineering)という言葉を生んだとされます。
3 分で読めます

数字で見る
- her age when she died on September 30, 2026
- 90
- people who worked on Apollo software under her, per MIT
- 400+
- publications she wrote, per MIT
- 130+
- year she received the Presidential Medal of Freedom
- 2016
NASAのApollo月面着陸ミッションの飛行ソフトウェアを書いたチームを率いたMargaret Hamilton氏が、2026年9月30日に90歳で亡くなりました。MITは10月7日に訃報を発表しました。同氏は「software engineering(ソフトウェア工学)」という言葉を生んだ人物とされます。その仕事は、プログラミングを独自の手法を持つ専門分野へと変える助けになりました。
Margaret Hamilton氏とは
Hamilton氏は、MITのInstrumentation LaboratoryでApollo計画のソフトウェア開発を率いました。この研究所は、Apollo宇宙船を飛ばした誘導コンピューターを設計した場所です。MIT Newsによると、同氏は1965年にApolloプロジェクトで最初に採用されたプログラマーでした。同プロジェクト初の女性プログラマーでもありました。
チームは同氏の下で大きくなりました。MITによると、同氏の指揮の下で400人以上がApolloのソフトウェアに携わりました。CNNの訃報記事は、同氏がMITのSoftware Engineering Divisionを率い、ミッションのソフトウェアを設計した100人のエンジニアを指揮したと伝えています。2つの報道は異なる数字を挙げているため、ここでは出典とともに両方を示します。
同氏がこの役職に就くまでの道のりは、まっすぐではありませんでした。MIT Newsによると、同氏は1955年にミシガン大学で学び始め、1958年にEarlham Collegeで学士号を取得しました。1959年にボストンへ移り、MITで働き始めました。1961年にはMIT Lincoln Laboratoryで働きました。
Apollo 11を着陸させたソフトウェア
Hamilton氏の最もよく知られたアイデアは、優先順位に関するものです。同氏のチームのソフトウェアは、最も重要な処理を先に実行するよう作られていました。処理しきれないほどの仕事が来ると、コンピューターは重要なタスクを続け、残りを後回しにしました。MIT Newsによると、この優先順位に基づく設計が、1969年7月のApollo 11の着陸時にミッションの失敗を防ぎました。
MITはまた、今日「防御的プログラミング(defensive programming)」と呼ばれる考え方の初期の発想を同氏の功績としています。これは、人や他のコードによるミスを想定し、害が出る前にそれを捕まえるコードを書くことです。同氏は1970年代半ばにInstrumentation Laboratoryを離れました。1976年にはHigher Order Softwareを創業しました。これは、エラーの防止を軸に同氏が築いた2つの会社のうち最初の1社です。
新しい分野に名前をつける
CNNは、Hamilton氏が「software engineering」という言葉を生んだとしています。当時、コードを書くことは一般にエンジニアリングとは見なされていませんでした。MITの航空宇宙学科の教授であるOlivier de Weck氏は、同氏を先駆者と呼ぶのは「控えめすぎる表現だろう」と述べたと、CNNは報じました。
Hamilton氏自身は、それを必然と捉えていました。MIT Newsが引用した発言で、同氏は「先駆者になるしかなかった」と語っています。2009年のインタビューでApolloを振り返り、同氏は「私たちは世界で一番幸運な人々だった」と話しました。
受賞と功績
MIT Newsは、同氏が受けた賞のうち次のものを挙げています。
| 年 | 受賞・表彰 |
|---|---|
| 2003 | NASA Exceptional Space Act Award |
| 2016 | Barack Obama大統領からの大統領自由勲章 |
| 2017 | Computer History Museum Fellow Award、およびLEGOのミニフィギュア |
| 2019 | Intrepid Lifetime Achievement Award |
| 2022 | 全米航空殿堂(National Aviation Hall of Fame)入り |
2016年の表彰文は、Hamilton氏が「ソフトウェア工学の新しい形を定義し、1つの産業の立ち上げを助けた」と述べています。MITによると、同氏は130以上の出版物を執筆しました。MITが同氏の死去を確認し、CNNは死因は明らかにされていないと報じました。
開発者にとっての意味
ソースコードを読んでみましょう。MIT Newsは、Apolloの飛行ソフトウェアがGitHubで公開されていると指摘しています。1960年代のハードウェアの上で、チームがエラーと厳しい制約にどう対処したかがわかります。1つのモジュールを読むだけでも、失敗が許されないコードの書き方を学べます。
システムが最初に何を捨てるかを決めておきましょう。Hamilton氏の優先順位の設計は、ロードシェディング(load shedding)の考え方の元になっています。過負荷になったサービスが、最も重要な処理を動かし続け、残りを切り捨てる仕組みです。その順番は、障害の最中ではなく、その前に書き出しておきましょう。そしてテストしてください。テストしていない代替手段は、ただの推測です。
人のミスは、驚くべきことではなく、想定すべき入力として扱いましょう。防御的プログラミングとは、ユーザーや呼び出し側が何かを間違えるという前提で、入力と状態を確認することです。入力の検証、安全な初期値、わかりやすいエラーメッセージは、どれもこの考え方から来ています。
最後に、多くの読者が持つ職種名の一部は、同氏に由来します。レビュー、テスト、文書化された障害モードは、ソフトウェア工学を1つの分野にしている実践です。締め切りがそれらを省かせようとするときこそ、守る価値があります。
出典
関連記事

Linuxのset_robust_list2システムコール、FEX-Emu向けにv7が登場
Igaliaは2026年9月25日、futex用システムコールset_robust_list2のv7を投稿した。v6から10か月ぶりで、FEX-EmuがArm64上で32ビットx86コードを動かすのを助ける。

Vulkan 1.4.363、Intel GPUの世代を問い合わせる拡張を追加
Vulkan 1.4.363がVK_INTEL_device_infoを追加した。このエクステンション(拡張機能)は、GPUのグラフィックスIPバージョンを3つの整数で返す。

Linux、古いARMコード24万7000行の削除へ
あるカーネルのブランチは、非推奨となった32ビットARMプラットフォームと、それらだけが使っていたドライバーを外し、約24万7000行を削除します。