防走丢,大家也可以在“事儿君看天下”找到我
关注起来,以后不“失联”~
奥巴马给她颁奖,比尔·盖茨为她鼓掌。
这位女士名叫玛格丽特·汉密尔顿(Margaret Hamilton),是为“阿波罗登月计划”开发飞行软件的功勋软件工程师,为她所在的领域做出了突破性的贡献。
![]()
(奥巴马为玛格丽特·汉密尔顿颁奖)
而且,如今大家熟悉的“软件工程(software engineering)”这个词,也是她创造的。
9月30日,玛格丽特去世了,享年90岁......
![]()
(玛格丽特·汉密尔顿)
玛格丽特于1936年8月17日出生于印第安纳州,娘家姓希菲尔德(Heafield),爸爸是诗人,祖父是一位校长。
1955年,她开始在密歇根大学学习数学,后来转学到妈妈的母校厄勒姆学院,1958年获得数学学士学位,辅修哲学。
本科毕业后,为了支持丈夫攻读法律学位,她和丈夫搬到了马萨诸塞州,她计划在布兰迪斯大学攻读抽象数学研究生学位。
但后来计划改变,1959年年中,她开始在麻省理工学院气象系工作,为天气预报开发软件。
当时,计算机科学和软件工程都是尚未成熟的学科,程序员们主要通过在工作中实践来学习。
![]()
(年轻的玛格丽特)
1961年至1963年,玛格丽特在麻省理工的林肯实验室工作,该实验室是由美国国防部委托麻省理工管理的、由联邦政府资助的研究和开发中心,目的是为美国开发防空系统。
她参与了半自动地面环境(SAGE)项目,该项目一开始用于天气预测,后来被开发用于防空军事领域,她作为程序员之一,为美国空军用于搜索潜在敌机的AN/FSQ-7原型计算机编写软件。
正是在这个项目上的优秀表现,让她成为美国宇航局(NASA)阿波罗飞行软件首席开发人员的候选人......
![]()
(玛格丽特)
1965年,玛格丽特了解到“阿波罗登月计划”,她觉得这个项目非常激动人心,希望自己也能参与。
后来她如愿以偿,加入了麻省理工学院仪器实验室(后改名为德雷珀实验室),该实验室负责为阿波罗登月计划开发阿波罗制导计算机。
因此,她成为阿波罗登月项目中的第一位女性程序员,后来晋升为软件工程部主任。
![]()
(玛格丽特)
她负责带领团队,编写和测试阿波罗飞船指令舱、登月舱以及后续的天空实验室空间站的所有机载飞行软件;
团队的另一部分工作内容,是负责设计和开发系统软件,包括错误检测和恢复软件,例如重启程序和显示界面例程(也叫优先级显示),这些都由玛格丽特带领团队设计和开发。
![]()
(工作中的玛格丽特)
玛格丽特不但有解决问题的能力,也有敏锐的预判能力和批判性思维,这些优势多次在阿波罗登月项目中,起到关键作用。
有一次,她4岁的女儿劳伦在摆弄阿波罗指令舱模拟器时,发现了一些问题。
在模拟器上,玛格丽特他们会假装宇航员,对软件、硬件、协同工作等一切情况进行测试。
女儿劳伦经常看她这样做,于是也学着她在模拟器上这样玩。
结果有一次,劳伦在实验室操作模拟程序时,不知怎么启动了一个名为P01的发射前程序,导致模拟器崩溃。
这让玛格丽特心头一紧:“我当时想,‘我的天啊,怎么会这样?’”
这个错误后来被命名为“劳伦错误”,玛格丽特很快就总结了经验教训,她编写了一个插件,以防宇航员在飞行过程中不小心启动P01程序,相当于给这一可能发生的错误,提前打了补丁。
![]()
(玛格丽特)
而且,玛格丽特还提出一项软件修复方案,防止在实际任务中再次发生此类错误,但她的方案最终被否决,理由是训练有素的宇航员绝不会犯同样的错误。
结果,在1968年的阿波罗8号任务中,玛格丽特担心的情况真的发生了——
宇航员吉姆·洛弗尔(Jim Lovell)在飞行过程中,意外启动了P01程序,导致导航数据丢失。
玛格丽特和她的团队被召来解决这一问题,她之前提出的修复方案被整合到程序中,这也成了“防御性编程”的早期案例......
![]()
(玛格丽特)
玛格丽特等早期的程序员在工作中边摸索边总结,他们提出的创新方案,在成功登月的过程中发挥了重要作用。
1969年7月2日,阿波罗11号首次完成载人登月任务,宇航员尼尔·阿姆斯特朗(Neil Armstrong)成为第一个踏上月球的人类。
人们记住了他那句“这是一个人的一小步,却是整个人类的一大步”,但却不知道,这次登月行动差一点在最后时刻功亏一篑。
![]()
(玛格丽特在一次学校展示活动中,坐在指令舱模拟器中)
就在阿波罗11号的登月舱即将着陆在月球表面的前三分钟,机载计算机突然发出多个警报,这说明发生了错误。
错误检测显示,由于硬件开关故障,计算机过载,系统可能无法完成这次复杂的登陆任务。
关键时刻,玛格丽特和团队开发的优先级驱动软件派上了用场。
该软件会关闭不必要的后台任务,优先处理当前最重要的任务,也就是登月。
在玛格丽特和团队的努力下,情况化险为夷,登月任务最终顺利完成。
![]()
(玛格丽特)
2015年,她参与开发的阿波罗登月计划软件被完整上传到代码共享平台GitHub。
玛格丽特为这个项目做出的贡献,最终被一张照片定格——
1969年,她站在一沓跟她一样高的打印纸旁边合影,那些纸上都是打印出来的计算机代码......
![]()
(玛格丽特的经典照片)
除了工作上的成就,玛格丽特的另一件轶事也一直被人们津津乐道,那就是她为“软件工程”这门学科命名的事。
在阿波罗计划早期,玛格丽特就开始使用“软件工程”一词 。
当时,跟其他工程学科相比,软件开发并不受重视,也不被视为一门独立的学科,玛格丽特一直希望软件开发能作为一门工程学科获得认可。
![]()
(玛格丽特)
回忆那段经历时,玛格丽特是这么说的。
“我一开始提出这个术语时,至少在我们这个领域,没人听说过这个词。”
“很长一段时间,这成了一个笑柄,他们喜欢拿我这些激进的想法打趣。”
后来有一次,在一场会议上,一位颇有威望的硬件技术权威人士公开表示,他认同玛格丽特的观点——
开发软件的过程也应该像开发硬件那样,被视为一门工程学科。
玛格丽特表示,那一刻让她十分难忘。
“不仅仅是因为他接受了这一新鲜的术语本身,更因为我们赢得了他和在场其他人的认可,确立了我们所从事的领域就是一门工程学科。”
随着时间的推移,“软件工程”慢慢像其他技术学科一样,获得了同等的尊重......
![]()
(玛格丽特)
上世纪70年代,玛格丽特凭借她的专业知识,跟人合伙创办了高阶软件公司(Higher Order Software),成为一位成功的计算机企业家。
十年后,她又创立了另一家软件公司汉密尔顿科技公司,该公司现在仍然在马萨诸塞州运营。
![]()
(玛格丽特)
玛格丽特一生获得过众多奖项和荣誉,包括2003年获得NASA杰出太空法案奖;
2017年,她获得计算机历史博物馆院士奖;
2019年,她获得无畏终身成就奖;
2022年,她入选美国国家航空名人堂。
2017年,玛格丽特拥有了自己的乐高形象。
在乐高推出的“NASA女性”套装中,玛格丽特是其中的四个主要人物之一。
![]()
(玛格丽特的乐高形象)
玛格丽特的另一个高光时刻是在2016年,她获得总统自由勋章,由美国前总统奥巴马亲自为她颁奖,以表彰她对科学和太空飞行的杰出贡献。
奥巴马在颁奖词中表示,她定义了软件工程的新形式,并协助开创了一个将永远改变人类历史的行业,它的软件架构为人类带来巨大的飞跃,她编写的代码帮助美国实现了登月梦想。
“汉密尔顿代表着那一代默默无闻的女性,她们帮助人类进入太空......”
![]()
(奥巴马为玛格丽特佩戴勋章)
玛格丽特去世后,很多机构都发声明向她致敬。
母校厄勒姆学院在悼词中说:“我们对她的去世感到悲痛,但也非常感激有机会在她漫长的一生中,庆祝她取得的非凡成就。”
“她开拓进取的精神和卓越的成就,将继续激励一代又一代的厄勒姆人。”
前雇主麻省理工学院则在悼词中表示:“说汉密尔顿是先驱,说她超越了她的时代,这远远低估了她的成就。”
![]()
(玛格丽特)
像玛格丽特这样的杰出女性科学家,真的应该早一些被人们认识......
ref:
https://www.bbc.com/news/articles/cx5yn46j41zpo
https://news.mit.edu/2026/margaret-hamilton-computing-pioneer-dies-1007
https://www.cnn.com/2026/10/07/science/nasa-apollo-margaret-hamilton-software
https://en.wikipedia.org/wiki/Margaret_Hamilton_(software_engineer)
![]()
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.