**玛格丽特·希菲尔德·汉密尔顿**（英語：，1936年8月17日—），美国计算机科学家、系統工程師和企業家，曾擔任MIT儀器實驗室（英语：）軟件工程部的主管（），幫助該實驗室開發阿波羅計劃中航天器搭載的飛行軟件，其編寫的程序都以最大程度防止崩潰為目的，從而防止了阿波罗11号登月計劃中綴。1986年，她在馬薩諸賽州劍橋鎮創立了漢密爾頓技術有限公司（），并擔任。該公司圍繞通用系統語言（英语：）進行系統和軟件工程開發，此一概念則基於漢密爾頓的「開發先於事實」（）的设计原則。

至今，漢密爾頓已發表了超過130篇論文、會議記錄和報告，內容包含60余個項目，以及她本人參與的6項主要課題。

生平
--

玛格丽特·希菲尔德的父母分别名叫肯尼斯·希菲尔德（）和露丝·希菲尔德（）。1954年，她从汉考克高中（）毕业，随后入读厄勒姆學院（英语：），并于四年后取得文学士学位，专业是数学，辅修哲学。大学学成后，她曾短暂在做过高中数学和法语老师，其时她的丈夫仍未本科毕业。之后她搬到了麻省波士顿，原计划入读布兰迪斯大学，完成抽象代数方向的研究生学业，但1960年却得到了一份麻省理工学院的临时的软件开发职位，负责编写在和LGP-30（英语：）计算机上运行的天气预报软件，工作地点则是由马文·闵斯基领导的MIT计算机科学和人工智能实验室。她的直接上司是教授，后者正在气象学系研究对大气进行数学建模。在当时，计算机科学和软件工程还算不上是学科，程序员们都是通过工作积累经验。

1961至1963年间，她转而为林肯實驗室的贤者系统工作，期间为第一台AN/FSQ-7作战指挥中央系统（英语：）编写探测敌方飞行的软件。同期，她还在美国空军剑桥研究实验室（英语：）编写软件。

NASA
----

1969年的漢密爾頓，站在她和她的麻省理工團隊為阿波羅項目製作的導航軟件旁邊
作为阿波罗软件开发部门领导者的汉密尔顿。
在结束前一段工作后，汉密尔顿加入了当时还名叫「仪器实验室」的查尔斯·斯塔克·德雷珀实验室（英语：），该实验室是阿波罗计划的一部分。而汉密尔顿则在1965年成为了其软件编程部门的主管。汉密尔顿负责编写全新的月球表面导航软件，以及后来该软件在其他项目中的各个版本（比如天空实验室计划）。

这一过程中，她在系统设计、软件开发、项目和过程建模、开发模式、形式化系统建模语言、软件可用性和复用性最大化等等领域都取得了不少创新。此外，她还创立了异步软件、优先级调配等新概念。

### 阿波罗11号

  

汉密尔顿的程序曾防止了阿波罗11号登月任务失败：在阿波罗登月舱到达月球表面三分钟前，数个计算机警报响起，表示计算机输入数据过多，原因是雷达系统更新了系统中的一个强制计数器，致使主机发生周期挪用（英语：）。但由于汉密尔顿的软件結構紮實，整个系统仍然可以工作。阿波罗的机载软件是以异步执行为思想开发的，高优先级的任务能打断低优先级任务。起初，报警信号被认为是雷达系统被操作人员错误开启，但后来的一项分析报告揭示，一个硬件设计错误导致雷达给主机提供了错误信息。

汉密尔顿本人曾这样总结这一事件：

> 登陆雷达开关放在了错误的位置，计算机收到了不少错误的信号。结果就是计算机既得执行着陆必须的计算，又要接受这些占用其15%时间的额外数据。但是它，或说是它里面的软件，聪明到可以判断它执行着不该执行的任务，所以就发出了警报……实际上，这台计算机不光能报警，它有着一整套恢复措施，这种情况下，计算机能自动剔除低级别任务以保证重要任务得以完成……如果当时计算机不能发现错误所在并从中恢复，我怀疑阿波罗号不能成功登月。
> 
>

经商
--

1976至1984年间，汉密尔顿担任了她自己创立的「高阶软件」（）公司的，基于公司的开发模式，完成了一款名为的产品。

1986年，她在麻省剑桥镇创立了汉密尔顿技术有限公司（），并出任。公司围绕通用系统语言（）及其自动化环境创建，这些都是基于她本人的开发先于事实（）的理念。

影响
--

汉密尔顿为NASA所照的官方照片，摄于1989年。
汉密尔顿被认为发明了软件工程一词。在这一领域，她还是并行计算、优先级调配、端对端测试等技术的先驱者。

### 荣誉

* 1986年获奥古斯塔·埃达·洛夫莱斯（）奖。
* 2003年因技术和科学贡献获NASA杰出太空行动奖（。该奖奖金37,200美元，是美国宇航局史上对个人的最大奖赏。
* 2009年获厄勒姆學院（英语：）杰出校友奖（）。
* 2016年獲授予總統自由勳章。

私人生活
----

瑪格麗特在大学期间遇到了后来的丈夫，詹姆斯·汉密尔顿（; 1937-2014），五十年代末瑪格麗特毕业后两人结婚，育有一个女儿，二人最终离婚。

部分作品
----

* 
* 
* 
* 
* 
*

参考来源
----

1. 1 2 3
2. 1 2 3 4
3. 1 2 3  （英文）
4. 1 2
5. ↑
6. 1 2
7. ↑  （英文）
8. ↑
9. ↑
10. ↑
11. ↑  （英文）
12. ↑
13. ↑  （英文）
14. ↑
15. 1 2  （英文）
16. ↑  Russo, Nicholas P.. NASA. 2016-11-23  [2016-11-23]. （原始内容存档于2016-11-22） （英语）.
17. ↑  -{Stickgold, Emma.. Boston Globe. 2014-08-31  [2015-07-05]. （原始内容存档于2015-07-06） （英语）. }-

延伸閱讀
----

* 吳慕兒.. 香港01 - 國際. 2017-01-01.

外部連結
----

* Hamilton Technologies, Inc. （页面存档备份，存于）
* MIT News （页面存档备份，存于）
* Margaret Hamilton Video produced by *Makers: Women Who Make America*
* Margaret Hamilton ’58 — Presidential Medal of Freedom Recipient （页面存档备份，存于）: Earlham College profile

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 

| * 
* 论
* 编
计算机领域时间轴 |
| --- |
|  |
| 计算机（英语：） | 
* 20世纪50年代前（英语：）
* 1950年至1979年（英语：）
* 20世纪80年代（英语：）
* 20世纪90年代（英语：）
* 21世纪00年代（英语：）
* 21世纪10年代（英语：）

 |
|  |
| 软件 | 

|  |  |
| --- | --- |
| 开源软件（英语：） | 
* 20世纪70年代（英语：）
* 20世纪80年代（英语：）
* 20世纪90年代（英语：）
* 21世纪00年代（英语：）
* 21世纪10年代（英语：）

 |
|  |
| 编程语言（英语：） | 

 |
|  |
| 超文字技術時間線 | 

 |
|  |
| 作業系統歷史年表 | 
* 磁盘操作系统家族（英语：）
* Microsoft Windows年表
* Linux内核版本历史

 |
|  |
| 虚拟化发展（英语：） | 

 |
|  |
| 知名病毒及蠕蟲的歷史年表 | 

 |

 |
|  |
| 计算机科学 | 
* 人工智能（英语：）
* 量子计算（英语：）

 |
|  |
| 互联网 | 
* 网页浏览器时间线
* 互联网冲突（英语：）

 |
|  |
| 计算机领域中的男性 | 
* 查尔斯·巴贝奇
* 約翰·巴科斯
* 乔治·布尔
* 文頓·瑟夫
* 約翰·科克
* 史蒂芬·库克
* 約翰·皮斯普·埃克特
* 大衛·霍夫曼
* 罗伯特·卡恩
* 布萊恩·柯林漢
* 安德鲁·科宁格（英语：）
* 高德纳
* 约瑟夫·克鲁斯克尔（英语：）
* 道格拉斯·麥克羅伊
* 约翰·冯·诺伊曼
* 丹尼斯·里奇
* 吉多·范罗苏姆
* 比雅尼·斯特劳斯特鲁普
* 肯·汤普逊
* 林纳斯·托瓦兹
* 艾伦·图灵
* 保罗·维西（英语：）
* 拉里·沃尔
* 史蒂芬·沃爾夫勒姆
* 斯蒂夫·沃兹尼亚克

 |
|  |
| 计算机领域中的女性 | 
* 凯瑟琳·安东内利（英语：）
* 让·巴蒂克（英语：）
* 阿黛尔·戈德斯坦（英语：）
* 洛伊斯·海布特（英语：）
* 贝蒂·霍伯顿（英语：）
* 愛達·勒芙蕾絲
* 玛格丽特·汉密尔顿
* 葛麗絲·霍普
* 南希·莱韦森（英语：）
* 马林·梅尔策（英语：）
* 克拉拉·丹·冯·诺伊曼（英语：）
* 弗朗西斯·斯宾塞（英语：）
* 露丝·泰特尔鲍姆

 |

 |

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 

| * 
* 论
* 编
軟體工程 |
| --- |
|  |
| 领域 | 
* 需求分析
* 系統分析
* 軟體設計
* 電腦編程
* 形式化方法
* 軟體測試
* 軟體部署
* 軟體維護

 |
|  |
| 概念 | 
* 数据建模
* 企业架构
* 功能规格（英语：）
* 建模语言
* 编程范型
* 软件
* 软件架构
* 程序设计方法学
* 软件开发过程
* 项目生命周期
* 软件质量
* 软件质量保证
* 軟體考古學
* 軟體驗證及確認
* 结构化分析

 |
|  |
| 導向 | 
* 敏捷
* 觀點導向
* 面向对象
* 本体论
* 面向服务
* 系统开发生命周期

 |
|  |
| 模型 | 

|  |  |
| --- | --- |
| 开发模型 | 
* 敏捷
* 迭代模式
* RUP
* Scrum
* 螺旋模型
* 瀑布模型
* XP
* V模型
* 混沌模型

 |
|  |
| 其他模型 | 
* SPICE
* CMMI
* 数据模型
* ER模型
* 功能模型（英语：）
* 信息模型
* 元建模
* 对象模型（英语：）
* 系统模型（英语：）
* 视图模型（英语：）

 |
|  |
| 建模语言 | 
* IDEF（IDEF0（英语：）·IDEF1X）
* UML
* USL（英语：）
* SysML

 |

 |
|  |
| 软件工程师 | 
* 肯特·貝克
* 葛來迪·布區
* 佛瑞德·布魯克斯
* Barry Boehm（英语：）
* 沃德·坎宁安
* 奧利-約翰·達爾
* Tom DeMarco（英语：）
* 艾兹格·迪杰斯特拉
* 马丁·福勒
* 東尼·霍爾
* Watts Humphrey（英语：）
* Michael A. Jackson（英语：）
* 伊瓦爾·雅各布森
* Craig Larman（英语：）
* James Martin（英语：）
* 伯特蘭·邁耶
* David Parnas（英语：）
* Winston W. Royce（英语：）
* 詹姆士·蘭寶
* 尼克劳斯·维尔特
* 愛德華·尤登
* Victor Basili（英语：）

 |
|  |
| 相关领域 | 
* 计算机科学
* 计算机工程
* 企业工程
* 軟體工程史
* 管理学
* 数学
* 專案管理
* 品質管理
* 风险管理
* 人因工程学
* 系统工程

 |
|  |
| 
* 分类 分类
* 共享资源页面 维基共享

 |

 |

|  |  |  |
| --- | --- | --- |
| 

|  |  |
| --- | --- |
| 规范控制 編輯維基數據鏈接 | 
* WorldCat Identities
* DBLP: 72/4181
* FAST: 1944399
* GND: 1203402279
* LCCN: no2015153151
* NLP: a0000003522313
* VIAF: 117145003297761300086

 |

 |