21CTO导读:在麻省理工学院的二十多年里,汉密尔顿在计算机科学和工程领域开辟了新的道路。她的开创性工作包括领导团队编写了第一批将人类送上月球的计算机程序
玛格丽特·汉密尔顿是一位极具影响力的计算机科学家,她最著名的成就是领导麻省理工学院仪器实验室的软件工程团队参与了美国宇航局的阿波罗计划。她于9月30日去世,享年90岁。
作为计算机领域的先驱,汉密尔顿发表了130多篇论文,她帮助确立了软件工程作为一门独立学科的地位。她从1959年到20世纪70年代中期在麻省理工学院工作,之后成为了一位成功的计算机企业家和首席执行官。
她毕生的成就获得了众多奖项和荣誉的认可, 其中包括2016年由巴拉克·奥巴马总统颁发的总统自由勋章。奥巴马在授勋词中写道:“汉密尔顿定义了软件工程的新形式,并帮助开创了一个将永远改变人类历史的行业。她的软件架构为人类带来了巨大的飞跃,她编写的代码帮助美国实现了登月梦想。”
“说玛格丽特·汉密尔顿是先驱——说她超越了时代——都远远低估了她的成就。她从事软件工程时,这个领域还处于萌芽阶段,她不仅自己开发了先进的代码,还领导一个团队利用这项新兴技术开发了人类有史以来最复杂的系统之一,”阿波罗计划教授、麻省理工学院航空航天系临时主任奥利维尔·德·韦克说道。
“阿波罗计划至今仍是协作、创造力和工程技术力量的最佳证明之一,而玛格丽特·汉密尔顿是该计划成功的关键贡献者。但对她而言,这仅仅是个开始!她后来成为了一名企业家,并在其非凡的职业生涯中始终站在系统软件的最前沿,同时还激励、指导和鼓舞了数百万人。”
早年生活及在麻省理工学院的项目
汉密尔顿于 1936 年出生于印第安纳州保利,1955 年开始在密歇根大学学习数学,之后转学到厄勒姆学院,并于 1958 年获得数学学士学位,辅修哲学。1959 年,她随丈夫搬到马萨诸塞州波士顿,当时她的丈夫正在攻读法律学位。
汉密尔顿很快在麻省理工学院气象系找到了一份临时工作,与气象学教授爱德华·N·洛伦兹(Edward N. Lorenz,1943年获理学硕士学位,1948年获理学博士学位)合作开发天气预报软件。这是她首次接触计算机编程,而她的工作也为洛伦兹日后发表的混沌理论著作提供了理论基础。
1961年,汉密尔顿加入麻省理工学院林肯实验室,担任程序员,参与了 半自动地面防御系统(SAGE)项目,这是美国首个防空系统。汉密尔顿为美国空军用于搜索潜在敌机的AN/FSQ-7原型计算机(XD-1)编写软件。在此期间,汉密尔顿开始对软件可靠性产生兴趣——这在当时是一个新兴且尚未被充分探索的概念。
1965年,汉密尔顿正准备攻读研究生学位,这时她的丈夫在报纸上看到一则招聘广告:麻省理工学院的仪器实验室正在招募人员开发用于“载人登月”的软件。该实验室赢得了美国国家航空航天局(NASA)的合同,负责为阿波罗计划开发机载飞行软件。汉密尔顿被这项挑战所吸引,于是申请了这份工作,并被麻省理工学院聘为阿波罗计划的第一位程序员,同时也是该计划中的第一位女性程序员。
汉密尔顿最初从事无人阿波罗任务的软件开发工作,之后晋升为载人任务机载飞行软件开发团队的负责人。到1968年,她已是负责指令舱和服务舱团队的助理主任,当时有超过400人参与阿波罗计划的软件开发工作。
“就我个人而言,软件开发本身(设计、开发、迭代、观察其运行并从中学习以应用于未来的系统)至少与任务本身一样令人兴奋,”汉密尔顿 在2009年接受麻省理工学院新闻采访时说道。“我们没有第二次机会。我们深知这一点。我们认真对待工作,许多人在20多岁时就开始了这段旅程。提出解决方案和新想法本身就是一次冒险。奉献和投入是理所当然的。彼此尊重是普遍的。由于软件是一个谜,一个黑匣子,高层管理人员给予了我们充分的自由和信任。我们必须找到方法,而我们也做到了。回首往事,我们是世界上最幸运的人;我们别无选择,只能成为开拓者。”
“防御性”编程和优先级驱动的软件将人类送上月球
汉密尔顿展现出了领导才能,以及敏锐的问题解决能力和批判性思维,这些特质后来多次拯救了阿波罗计划。
后来发生了一起被称为“劳伦失误”的事件:一天,她当时四岁的女儿劳伦在仪器实验室玩指令舱模拟器时,不知何故在模拟器飞行过程中启动了一个名为P01的发射前程序,导致模拟器彻底崩溃。汉密尔顿在技术文档中添加了一个程序插件,警告用户不要在飞行过程中启动P01。
她还提出了一项软件修复方案,以防止在实际任务中再次发生此类错误,但她的方案被否决了,理由是训练有素的宇航员绝不会犯同样的错误。然而,在1968年的阿波罗8号任务中,这种情况却恰恰发生了:吉姆·洛弗尔在飞行过程中意外发射了P01火箭,导致飞行中的导航数据丢失。汉密尔顿和她的团队被召集来解决这一错误,之后她提出的修改方案被整合到程序中。这是“防御性”编程的早期案例,即构建能够自行预测或修复错误的软件。
汉密尔顿对阿波罗计划最著名的贡献发生在1969年7月至关重要的阿波罗11号登月任务期间。就在“鹰”号登月舱即将降落在月球表面前,机载计算机发出警报。它检测到一个1202错误:由于硬件开关故障,计算机过载,系统可能无法处理复杂的着陆程序。
但汉密尔顿和她的团队开发了优先级驱动的软件,能够关闭不必要的后台任务,从而优先处理关键任务。休斯顿信任汉密尔顿的软件,允许任务继续进行,两名宇航员首次踏上了月球。
后期的职业生涯和遗产
汉密尔顿在仪器实验室一直工作到 20 世纪 70 年代。随着阿波罗计划的结束,仪器实验室从麻省理工学院分离出来,成为独立的德雷珀实验室。
“玛格丽特在德雷珀公司留下了不可磨灭的印记,我们将永远感激她,”德雷珀公司总裁兼首席执行官杰里·M·沃莱茨(Jerry M. Wohletz,1997届硕士,2000届博士)表示,“她凭借其卓越的领导力和对NASA阿波罗制导计算机机载飞行软件开发的贡献,确保了阿波罗宇航员安全登陆月球表面并安全返回地球。我们将永远铭记她在德雷珀公司做出的贡献。”
1976 年,汉密尔顿创立了她的第一家软件公司——高等秩序软件公司。该公司以汉密尔顿的软件工程方法为基础,即预防错误和容错。
十年后,汉密尔顿创立了另一家软件公司——汉密尔顿科技公司,“旨在提供产品和服务,以实现规划、系统工程和软件开发流程的现代化,从而最大限度地提高可靠性、降低成本并加快产品上市速度。”
Hamilton Technologies 的旗舰产品是通用系统语言 (USL),这是一种系统建模语言和方法,用于设计以错误预防和防御性编程为优先的复杂软件系统。
在她的整个职业生涯中,汉密尔顿致力于让软件工程作为一门独立的学科得到认可。
“我努力争取软件的合法性,让软件及其开发者获得应有的尊重。因此,我开始使用‘软件工程’这个词,将其与硬件和其他工程领域区分开来,但同时又将每种工程都视为整个系统工程流程的一部分,”汉密尔顿 在2018年接受《国家报》采访时说道。“我最初使用这个词的时候,大家都觉得很滑稽。这成了一个长期的笑话。他们喜欢拿我的激进想法开玩笑。但最终,软件也必然会像其他任何学科一样获得应有的尊重。”
汉密尔顿荣获众多奖项和荣誉,其中包括:2003 年获得 NASA 杰出太空法案奖,以表彰其在科学和技术方面的贡献;2017 年获得计算机历史博物馆研究员奖;2019 年获得无畏号终身成就奖;以及 2022 年入选国家航空名人堂。
晚年,汉密尔顿成为科学技术领域女性的偶像,尤其是在……一张她站在自己所在的麻省理工学院团队编写的阿波罗计划代码打印稿旁的著名照片开始在网上流传。2015年,她参与开发的阿波罗计划软件被 完整地上传到了代码共享网站GitHub。2017年,她 成为了乐高官方人仔,此前,由麻省理工学院科学传播者玛雅·温斯托克(Maia Weinstock)设计的一套乐高套装面向全球发售,这套套装旨在向她和其他几位在NASA历史上做出杰出贡献的女性致敬。
德韦克说:“玛格丽特·汉密尔顿激励了一代又一代的计算机科学家和工程师。她毕生致力于预防错误,以及她所谓的‘应对未知’。她以身作则,树立了领导力的典范,并建立了一套基于问题解决和系统工程的软件工程实践,我们所有人都从中受益。”
汉密尔顿女士身后留下了女儿劳伦·汉密尔顿、女婿理查德·塞莱斯尼克、两个孙子和四个曾孙。追悼会将于春季在马萨诸塞州剑桥市举行。
致敬世界上第一位女软件工程师、计算机科学家、改变世界的先驱者——汉密尔顿女士。
编辑:聆听音乐的鱼
来源:
https://news.mit.edu/2026/margaret-hamilton-computing-pioneer-dies-1007
本篇文章为 @ 场长 创作并授权 21CTO 发布,未经许可,请勿转载。
内容授权事宜请您联系 webmaster@21cto.com或关注 21CTO 微信公众号。
该文观点仅代表作者本人,21CTO 平台仅提供信息存储空间服务。
请扫描二维码,使用微信支付哦。