阿波罗登月计划背后的软件先驱玛格丽特·汉密尔顿(Margaret Hamilton)去世,享年 90 岁。麻省理工学院航空航天系发布消息,确认她于 9 月 30 日在马萨诸塞州剑桥离世,死因未公布。MIT News 于 10 月 7 日刊发讣告,称她是"领导阿波罗计划软件开发的计算先驱"。
汉密尔顿 1936 年 8 月 17 日出生于印第安纳州保利,1959 年加入 MIT,在仪器实验室软件工程部一路做到部门主管。她的人生轨迹几乎与现代软件史同步:当大多数人还在用打孔卡与机器较劲时,她已经在为送人上月球写代码。
1969 年 7 月,阿波罗 11 号登月舱下降到月面最后阶段,机载计算机突然过载,警报灯在舱内频频闪烁。尼尔·阿姆斯特朗与巴兹·奥尔德林距离月面只剩几分钟,任何一个错误判断都可能让人类首次登月功亏一篑。
汉密尔顿团队编写的优先级调度软件在此时发挥了关键作用:计算机自动舍弃次要任务,把算力让给最关键的着陆操作。登月舱稳稳落下,休斯敦地面控制中心松了一口气。CNN 在讣闻中写道,正是这套软件"阻止了阿波罗 11 号在最后时刻走向灾难"。
汉密尔顿 1961 年随部门拿下 NASA 合同后,领导约 100 名工程师,为阿波罗制导计算机编写机载飞行软件。在那个"编程"还被视为打杂手艺的年代,她坚持用"软件工程"(software engineering)来命名这份工作,认为软件开发应当与硬件工程一样,被当作严谨的系统工程对待。
这个词后来成为整个行业的正式名称。MIT 在讣告中评价,她不仅自己写出先进代码,更带领团队用尚在襁褓中的技术,建成了"人类完成过的最复杂的系统之一"。
尽管贡献巨大,汉密尔顿的声誉沉寂了几十年,直到近年才被重新发现。2016 年,时任总统奥巴马向她颁发总统自由勋章,表彰词写道:"她定义了软件工程的新形态,写下了帮助美国人踏上月球的代码。"
她一生发表论文 130 余篇,1976 年创办 Higher Order Software,1986 年再创办 Hamilton Technologies,均设在剑桥,并一直活跃在系统软件前沿。MIT 航空航天系临时主任、阿波罗计划讲席教授奥利维耶·德韦克悼念说:"说她是先驱、说她超越时代,都是轻描淡写。"
汉密尔顿的离世,让"软件工程"这个词回到了它的起点。从阿波罗的制导计算机,到今天无处不在的软件系统,她证明了一件事:代码不是附属品,而是可以托举登月舱的工程。
对于在美华人读者而言,她的故事还有一层现实意义——在男性主导的 1960 年代工程界,一位女性工程师用一行行代码把名字写进了月球背面(字面意义上:她的软件确实在月球上运行过)。MIT 的讣告标题只有一句话:计算先驱,90 岁。够了。