玛格丽特·汉密尔顿(Margaret Hamilton)是一名计算机科学家,曾领导美国国家航空航天局(NASA)阿波罗(Apollo)计划期间麻省理工学院(MIT)仪器实验室的软件工程团队。她于9月30日去世,享年90岁,撰写过130多篇出版物,帮助确立软件工程为一门独立学科,并于1959年至20世纪70年代中期在麻省理工学院工作,之后成为企业家和首席执行官,2016年获贝拉克·奥巴马(Barack Obama)颁发的总统自由勋章(Presidential Medal of Freedom)。
正文
玛格丽特·汉密尔顿是一位极具影响力的计算机科学家,因在NASA阿波罗计划期间领导麻省理工学院仪器实验室的软件工程团队而闻名,她于9月30日逝世,享年90岁。
作为著有130多篇出版物的计算先驱,汉密尔顿帮助确立了软件工程作为一门独立学科。她1959年至1970年代中期在麻省理工工作,此后成为成功的计算机企业家兼CEO。
她毕生工作获众多荣誉,包括2016年奥巴马总统颁发的自由勋章。颁奖词写道:“汉密尔顿定义了软件工程的新形式,帮助开启永远改变人类历史的产业。她的软件架构促成了人类巨大飞跃,编写了助美国踏上月球的代码。”
麻省理工航空与宇航系阿波罗计划教授兼临时主任奥利维尔·德维克表示:“说汉密尔顿是先驱、超越时代都是严重轻描淡写。在软件工程婴儿期她就是工程师,不仅自编先进代码,还领导团队用雏形技术开发人类最复杂系统之一。阿波罗计划是协作与工程力最伟大明证之一,她是成功关键贡献者。此后她成企业家,始终站系统软件前沿,作为倡导者、导师激励数百万人。”
早年生活与麻省理工的项目
汉密尔顿1936年生于印第安纳州保利,1955年入密歇根大学数学系,后转厄尔汉姆学院,1958年获数学学士及哲学辅修。1959年随丈夫移居波士顿,丈夫当时攻读法律学位。
她很快在麻省理工气象系任临时职,与气象教授爱德华·洛伦兹开发天气预报软件。这是她编程起点,工作后来为洛伦兹混沌理论著作奠定基础。
1961年她在林肯实验室任程序员,参与美国首个防空系统SAGE项目,为原型AN/FSQ-7计算机编写软件供空军搜寻可疑飞机。期间她开始关注软件可靠性——当时崭新且少探究的概念。
1965年她准备读研时,丈夫在报上见广告:麻省理工仪器实验室招人开发“送人登月”软件。实验室获NASA合同建阿波罗机载飞行软件。被挑战吸引,她应聘并受雇为麻省理工阿波罗项目首位程序员,也是项目首位女性程序员。
她先写无人阿波罗任务软件,后升任载人任务机载飞行软件团队领导。1968年她任指令与服务舱团队助理总监,超400人从事阿波罗软件。
汉密尔顿2009年告诉麻省理工新闻:“从我视角,软件经验本身——设计、开发、演进、看其运行并学以致用——至少和任务周边事件一样激动人心。没有第二次机会,我们知道。我们严肃对待工作,许多人20多岁启程。想出方案新点是冒险,奉献承诺是默认,相互尊重是全面。因软件是神秘黑箱,高层给完全自由信任。我们得找路,我们做到了。回头看,我们是世界上最幸运的人,除了当先驱别无选择。”
“防御性”编程与优先级驱动软件送人类登月
汉密尔顿显出领导才干与解决问题本能,数次挽救阿波罗计划。
有名“劳伦错误”事件:四岁女儿劳伦在实验室玩指令舱模拟器,飞行中误启发射前程序P01,致模拟器崩溃。汉密尔顿在文档加注警告飞行中勿启P01,并提出修复防真实任务出错,但被否,理由训练有素宇航员绝不会犯同错。然而1968年阿波罗8号中,吉姆·洛弗尔恰恰空中误启P01,导航数据消失。汉密尔顿团队被召解决,此后其修改纳入程序。这是“防御性”编程(建能预见或自修错的软件)早期范例。
她最著名贡献在1969年7月关键阿波罗11号登月任务。鹰号模块着陆前瞬,机载计算机报警,检出1202错误:因硬件开关故障过载,系统恐无法处理复杂着陆。但汉密尔顿团队设计了优先级驱动软件,能关非必要后台任务以优先关键任务。休斯顿信该软件允任务继续,两人首踏月面。
后期生涯与遗产
1970年代她续在仪器实验室。阿波罗计划尾声,实验室脱离麻省理工成独立德雷珀实验室。其总裁杰里·沃莱茨说:“玛格丽特给德雷珀留不可磨灭印记,我们永怀感激。通过领导贡献阿波罗导航计算机机载飞行软件,她助宇航员安全落月返家。我们永尊其遗产。”
1976年她创首家软件公司Higher Order Software,基于其错误预防和容错工程法。
十年后她创Hamilton Technologies公司,旨在供产品服务以现代化规划、系统工程和软件开发流程,最大化可靠、降成本、加速上市。
其旗舰产品Universal Systems Language (USL)是一种系统建模语言和方法,用于优先错误预防和防御编程的复杂软件工程。
生涯中她致力使软件工程获独立学科认可。2018年她告诉《国家报》:“我力争给软件合法性使其及建造者受应得尊重,故开始用‘软件工程’词区别于硬件等工程,但视各工程为整体系统过程部分。初用此词被当有趣,长期是笑话,他们爱揶揄我激进想法。软件最终必要地获了他学科同尊。”
诸多荣誉中,她获2003年NASA特殊空间法奖、2017年计算机历史博物馆学者奖、2019年无畏终身成就奖、2022年入国家航空名人堂。
晚年她成科技女性偶像,尤其在那张著名照片——她立于麻省理工团队阿波罗代码打印件旁——网络流传后。
2015年她助开发的阿波罗软件完整版存入GitHub。2017年她成官方乐高迷你人偶,源于MIT科学传播者设计的NASA女性套装全球发售。
德维克说:“汉密尔顿激励数代计算机科学家工程师。她生涯奉献防错与所谓‘处理未知’。她以身作则树领导典范,建基于解决问题系统工程的软件工程实践,我们皆受惠。”
她身后留女儿劳伦、女婿理查德·塞莱斯尼克、两孙及四曾孙。追悼会春于马萨诸塞剑桥举行。
评论
讨论几乎是一边倒的悼念与致敬,没有出现立场分歧;社区的核心共识是 Margaret Hamilton 作为“软件工程”一词创造者和软件工程学科奠基者的历史地位,并反复争论她是否配得上“传奇”以及 HN 是否该以黑条致哀。
认为她完全配得上“传奇”并应获 HN 黑条致哀
- 有用户称“传奇”一词常被滥用,但用在她身上绝对够格;另有用户直接说这是“黑条事件”,感叹损失巨大(较多人)
- 引用:> 传奇这个词被用得太多了,她绝对配得上。(@jamiek88)
强调“软件工程”是她创造的,且当年曾被当作笑话
- 用户翻出 Wikiquote 和 Guardian 访谈,指出她把软件从被视为“艺术和魔法”、像领养的孩子一样不被重视的地位,硬生生推成与硬件同等的工程学科;这个词最初被当成长期笑柄,直到一位受尊敬的硬件专家在会议上公开支持她(高赞)
- 另一位用户也简要提到“软件工程师”一词出自她(较多人)
- 引用:> 当时软件被当成领养的孩子,不像硬件工程那样被认真对待,被认为是一门艺术和魔法,而不是科学。(@customguy)
把她视为软件方法论的少数前驱之一
- 有用户讨论 PRIDE 方法论时指出,Margaret Hamilton 是极少数先驱之一,她先把理念提出来,PRIDE 只是将其商业化并让商业 IT 部门接受(少数人)
有价值的补充
- 计算机历史博物馆有她的口述历史;有用户据此推断 Levy《黑客》里那段 TX-0 深夜黑客搞乱天气模拟代码的故事,程序员可能正是她,而被搞乱代码的是 Edward Lorenz 教授
- 有用户回忆三十年前曾在 Draper Lab 阿波罗时代成员创办的 VC 资助的公司里见过她,她谈论形式化控制系统,内容完全超出自己的理解,但令人着迷
- MIT News 2016 年那篇关于她出现在 MIT 场景的文章被贴出,称那张照片常是人们第一次认识她的入口;另有用户汇总了维基百科和 HN 历史讨论链接