
_START_ARTICLE_
玛格丽特·汉密尔顿
_START_SECTION_
生平
_START_PARAGRAPH_
玛格丽特·希菲尔德的父母分别名叫肯尼斯·希菲尔德（Kenneth Heafield）和露丝·希菲尔德（Ruth Esther Heafield）。1954年，她从汉考克高中（Hancock High School）毕业，随后入读厄勒姆学院，并于四年后获取文学士学位，专业是数学，辅修哲学。大学学成后，她曾短暂在做过高中数学和法语老师，其时她的丈夫仍未本科毕业。之后她搬到了麻省波士顿，原计划入读布兰迪斯大学，完成抽象代数方向的研究生学业，但1960年却得到了一份麻省理工学院的临时的软件开发职位，负责编写在PDP-1和LGP-30计算机上运行的天气预报软件，工作地点则是由马文·闵斯基领导的MIT计算机科学和人工智能实验室。她的直接上司是爱德华·诺顿·洛伦茨教授，后者正在气象学系研究对大气进行数学建模。在当时，计算机科学和软件工程还算不上是学科，程序员们都是通过工作积累经验。_NEWLINE_1961至1963年间，她转而为林肯实验室的贤者系统工作，期间为第一台AN/FSQ-7作战指挥中央系统编写探测敌方飞行的软件。同期，她还在美国空军剑桥研究实验室编写软件。
_START_SECTION_
NASA
_START_PARAGRAPH_
在结束前一段工作后，汉密尔顿加入了当时还名叫“MIT仪器实验室”的查尔斯·斯塔克·德雷珀实验室，该实验室是阿波罗计划的一部分。而汉密尔顿则在1965年成为了其软件编程部门的主管。汉密尔顿负责编写全新的月球表面导航软件，以及后来该软件在其他项目中的各个版本（比如天空实验室计划）。_NEWLINE_这一过程中，她在系统设计、软件开发、项目和过程建模、开发模式、形式化系统建模语言、软件可用性和复用性最大化等等领域都获取了不少创新。此外，她还创立了异步软件、优先级调配等新概念。
_START_SECTION_
阿波罗11号
_START_PARAGRAPH_
汉密尔顿的程序曾防止了阿波罗11号登月任务失败：在阿波罗登月舱到达月球表面三分钟前，数个计算机警报响起，表示计算机输入数据过多，原因是雷达系统更新了系统中的一个强制计数器，致使主机发生周期挪用。但由于汉密尔顿的软件结构扎实，整个系统仍然可以工作。阿波罗的机载软件是以异步执行为思想开发的，高优先级的任务能打断低优先级任务。起初，报警信号被认为是雷达系统被操作人员错误开启，但后来的一项分析报告揭示，一个硬件设计错误导致雷达给主机提供了错误信息。_NEWLINE_汉密尔顿本人曾这样总结这一事件：_NEWLINE_登陆雷达开关放在了错误的位置，计算机收到了不少错误的信号。结果就是计算机既得执行着陆必须的计算，又要接受这些占用其15%时间的额外数据。但是它，或说是它里面的软件，聪明到可以判断它执行着不该执行的任务，所以就发出了警报……实际上，这台计算机不光能报警，它有着一整套恢复措施，这种情况下，计算机能自动剔除低级别任务以保证重要任务得以完成……如果当时计算机不能发现错误所在并从中恢复，我怀疑阿波罗号不能成功登月。
_START_SECTION_
经商
_START_PARAGRAPH_
1976至1984年间，汉密尔顿担任了她自己创立的“高阶软件”（Higher Order Software）公司的CEO，基于公司的开发模式，完成了一款名为USE.IT的产品。_NEWLINE_1986年，她在麻省剑桥镇创立了汉密尔顿技术有限公司（Hamilton Technologies, Inc.），并出任CEO。公司围绕通用系统语言（Universal Systems Language）及其自动化环境001 Tool Suite创建，这些都是基于她本人的开发先于事实（Development Before The Fact）的理念。
_START_SECTION_
影响
_START_PARAGRAPH_
汉密尔顿被认为发明了软件工程一词。在这一领域，她还是并行计算、优先级调配、端对端测试等技术的先驱者。
_START_SECTION_
私人生活
_START_PARAGRAPH_
玛格丽特在大学期间遇到了后来的丈夫，詹姆斯·汉密尔顿（James Cox Hamilton; 1937-2014），五十年代末玛格丽特毕业后两人结婚，育有一个女儿，但二人最终离婚。