登月计划软件工程先驱玛格丽特·汉密尔顿逝世,享年 90 岁

玛格丽特·汉密尔顿(Margaret Hamilton)于 9 月 30 日逝世,享年 90 岁。她是影响深远的计算机科学家,最广为人知的成就,是在美国国家航空航天局(NASA)的阿波罗计划期间,领导麻省理工学院(MIT)仪器实验室的软件工程团队。

作为发表了 130 多篇学术著作的计算机先驱,汉密尔顿推动软件工程成为一门独立的学科。她从 1959 年到 1970 年代中期一直在麻省理工学院工作,之后成为一名成功的计算机企业家和首席执行官。

她毕生的成就赢得了无数奖项与荣誉,其中包括 2016 年获颁的总统自由勋章。巴拉克·奥巴马总统在颁奖词中指出:“汉密尔顿开创了软件工程的新形式,协助开创了一个将永远改变人类历史的行业。她的软件架构带来了人类的伟大飞跃,她编写的代码帮助美国人踏上了月球。”

“说玛格丽特·汉密尔顿是一位先驱、说她超越了那个时代,都极大地低估了她的贡献。在她从事软件工程的年代,这个领域才刚刚起步。她不仅亲自编写了先进的代码,还带领团队利用这项新技术,打造出人类历史上最复杂的系统之一。”阿波罗计划讲席教授、麻省理工学院航空航天系代理系主任奥利维耶·德威克表示。

“阿波罗计划至今仍是协作、智慧与工程力量最伟大的证明之一,而玛格丽特·汉密尔顿则是该计划成功的重要贡献者。对她来说,这仅仅是个开始!在此后非凡的职业生涯中,她成为了一名企业家,始终走在系统软件的最前沿,同时也是数百万人的倡导者、导师和灵感源泉。”

输入您的邮箱,订阅《美国攻略》

Join 204 other subscribers

早年生活与麻省理工学院的项目

1936 年,汉密尔顿出生于印第安纳州保利。 1955 年,她进入密歇根大学学习数学,随后转学至厄尔汉姆学院,并于 1958 年获得数学学士学位,辅修哲学。 1959 年,她陪同攻读法学学位的丈夫搬到了马萨诸塞州波士顿。

不久后,汉密尔顿在麻省理工学院气象系找到了一份临时工作,与气象学教授爱德华·洛伦茨合作开发天气预报软件。这是她首次接触计算机编程,而她的成果也为洛伦茨日后发表的混沌理论奠定了基础。

1961 年,汉密尔顿进入麻省理工学院林肯实验室担任程序员,参与美国首个防空系统——半自动地面防空系统(SAGE)项目。她为原型计算机 AN/FSQ-7(XD-1)编写软件,美国空军用它来搜索潜在的敌对飞机。在此期间,汉密尔顿开始对软件可靠性产生兴趣,这在当时还是一个全新且鲜有人涉足的概念。

1965 年,汉密尔顿正准备攻读研究生,她的丈夫在报纸上看到一则广告:麻省理工学院仪器实验室正在招聘开发软件的人员,目标是“把人类送上月球”。该实验室赢得了美国国家航空航天局(NASA)的合同,负责开发阿波罗计划的机载飞行软件。汉密尔顿被这一挑战深深吸引,便提交了申请,随后成为麻省理工学院阿波罗项目的首位程序员,也是该项目中的首位女性程序员。

起初,汉密尔顿负责无人驾驶阿波罗任务的软件开发,随后被提升为团队负责人,带领团队开发载人任务的机载飞行软件。到了 1968 年,她已升任副主管,负责指令与服务舱团队,当时已有 400 多人在为阿波罗计划的软件工作。

“在我看来,软件研发的过程本身(设计、开发、演进、观察其运行并为未来的系统积累经验)至少和任务本身的盛况一样令人兴奋,”汉密尔顿在 2009 年接受《麻省理工学院新闻》采访时说道。“我们没有第二次机会,大家深知这一点。我们非常严肃地对待工作,许多人在二十多岁时就开启了这段历程。构思解决方案和新点子是一场冒险。奉献与投入是理所当然的,彼此尊重更是普遍共识。因为当时软件就像是个神秘的黑盒,高层管理人员给予了我们充分的自由与信任。我们必须找出一条路,而我们也做到了。回首过去,我们是世界上最幸运的人;我们别无选择,只能成为先驱。”

“防御性”编程与优先级驱动软件助力人类登月

汉密尔顿展现出了卓越的领导天赋,以及敏锐的解决问题能力与批判性思维,这些能力在日后屡次挽救了阿波罗计划。

著名的“劳伦错误”事件就是典型一例:有一天,她四岁的女儿劳伦在仪器实验室玩耍指令舱模拟器,在模拟器处于飞行途中时,劳伦不知怎么触发了一个名为 P01 的发射前程序,导致模拟器彻底崩溃。汉密尔顿随后在技术文档中加入了一项说明,警告使用者切勿在飞行过程中启动 P01 。

她还提出了一项软件修复方案,以防止在真实任务中发生这种错误。但该提议被否决了,理由是训练有素的宇航员绝不会犯这种低级错误。然而在 1968 年的阿波罗 8 号任务中,意外偏偏发生了:宇航员吉姆·洛威尔在飞行途中不小心启动了 P01,导致机载导航数据全部丢失。汉密尔顿和她的团队被紧急召来解决这个错误,此后,她建议的修改被正式整合到程序中。这就是“防御性”编程的早期范例,即通过编写软件来预判或自我修复错误。

1969 年 7 月,阿波罗 11 号执行关键的登月任务。在这期间,玛格丽特·汉密尔顿做出了她对阿波罗计划最著名的贡献。就在“鹰号”登月舱准备降落月球表面的几分钟前,机载计算机发出了警报。计算机检测到了 1202 错误:由于硬件开关出现故障,计算机超负荷运转,系统可能无法处理复杂的降落程序。

但玛格丽特·汉密尔顿和她的团队研发出了按优先级驱动的软件,能够关闭不必要的后台任务,优先保证关键任务的运行。休斯敦信任玛格丽特·汉密尔顿的软件,决定让任务继续进行。最终,人类首次成功踏上月球。

后来的职业生涯与遗产

20 世纪 70 年代,玛格丽特·汉密尔顿继续在仪器实验室工作。随着阿波罗计划逐渐收尾,仪器实验室脱离麻省理工学院,成为独立的德雷珀实验室。

“玛格丽特在德雷珀实验室留下了不可磨灭的印记,我们永远心存感激,”德雷珀实验室总裁兼首席执行官杰里·M·沃莱茨表示。“通过对 NASA 阿波罗制导计算机机载飞行软件开发的领导与贡献,她确保了阿波罗宇航员安全降落月球表面并安全返回地球。我们将永远缅怀她的遗产。”

1976 年,玛格丽特·汉密尔顿创办了自己的第一家软件公司——高阶软件公司。该公司的成立基于她倡导的预防错误与容错软件工程方法。

十年后,玛格丽特·汉密尔顿又创立了另一家软件公司——汉密尔顿技术公司,旨在“提供产品和服务,推进规划、系统工程和软件开发流程的现代化,从而最大程度提高可靠性、降低成本并缩短上市时间”。

汉密尔顿技术公司的核心产品是通用系统语言(USL)。这是一种系统建模语言与工程方法论,用于构建复杂的软件系统,重点在于预防错误和防御性编程。

在整个职业生涯中,玛格丽特·汉密尔顿一直在争取让软件工程成为一门受认可的独立学科。

“我曾努力争取让软件拥有合法地位,以便软件及其开发者能够赢得应有的尊重。因此,我开始使用‘软件工程’这个词,把它同硬件和其他工程门类区分开来,同时又把每种工程都看作整体系统工程流程的一部分,”玛格丽特·汉密尔顿在 2018 年接受《国家报》采访时说道。“当我刚开始使用这个词时,大家都觉得很有趣,在很长一段时间里这都是个玩笑。他们喜欢拿我的‘激进想法’开玩笑。但软件最终也必然获得了与其他学科同等的尊重。”

玛格丽特·汉密尔顿一生获得过无数奖项与荣誉:2003 年,她因科学与技术贡献荣获 NASA 杰出太空法案奖;2017 年荣获计算机历史博物馆院士奖;2019 年荣获无畏号终身成就奖;2022 年入选国家航空名人堂。

晚年,玛格丽特·汉密尔顿成为了科技界女性的偶像。特别是有一张如今广为人知的照片在网上流传,照片中她站在麻省理工学院团队编写的阿波罗代码打印稿旁。 2015 年,她参与开发的阿波罗软件被完整上传到了代码共享平台 GitHub 。 2017 年,麻省理工学院科学传播员迈亚·温斯托克设计了一款致敬她和 NASA 历史多位女性的套组并在全球发售,玛格丽特·汉密尔顿也随之拥有了自己的官方乐高人仔。

“玛格丽特·汉密尔顿激励了一代又一代的计算机科学家和工程师。她的职业生涯专注于预防错误和她所谓的‘应对未知’,”奥利维耶·德威克表示。“她以身作则,树立了领导力典范,建立了基于解决问题和系统工程的软件工程实践,让我们所有人从中受益。”

玛格丽特·汉密尔顿遗下女儿劳伦·汉密尔顿、女婿理查德·塞莱斯尼克(Richard Selesnick)、两个孙辈、四个曾孙辈,以及兄弟姐妹约翰(John)、戴维(David)和凯瑟琳(Kathryn)。纪念仪式将于今年春季在马萨诸塞州剑桥举行。

编译自 Mit,原文链接:点击阅读。

#NASA#玛格丽特·汉密尔顿#科技先驱#软件工程#阿波罗计划
Read More

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.