玛格丽特·汉密尔顿领导的美国宇航局软件小组将宇航员送上了月球
玛格丽特·汉密尔顿领导的美国宇航局软件小组将宇航员送上了月球
1969年7月20日,当登月舱“鹰”接近月球表面时,它的计算机开始闪烁警告信息。一时间,任务控制中心面临着一个“去/不去”的决定,但他们对计算机科学家玛格丽特·汉密尔顿和她的团队开发的软件充满信心,告诉宇航员们继续前进。该软件允许计算机识别错误信息并忽略低优先级任务,继续引导宇航员尼尔·阿姆斯特朗和巴兹·奥尔德林越过坑坑洼洼、布满灰尘的月球外壳着陆。“很快就清楚了,”她后来说,“这个软件不仅告诉每个人有硬件相关的问题,而且软件也在弥补这个问题。”一项调查最终会显示宇航员的检查表出了问题,告诉他们错误地设置了交会雷达的硬件开关。汉密尔顿说:“幸运的是,任务控制中心的人信任我们的软件。尼尔·阿姆斯特朗报道说,只有足够30秒飞行的燃料,“老鹰号已经着陆了。”
在计算机技术还处于初级阶段时,这项成就是一项艰巨的任务:宇航员只能使用72千字节的计算机内存(如今一部64千兆字节的手机承载的存储空间几乎是以前的100万倍)。程序员必须使用纸质穿孔卡片将信息输入没有屏幕界面的房间大小的计算机。着陆时,
,当时32岁的汉密尔顿被麻省理工学院的任务控制系统连接起来。汉密尔顿承认:“我并没有把注意力放在任务上。“我把注意力放在了软件上。”在一切都正常工作之后,那一刻的重压击中了她。“天哪。看看发生了什么。我们做到了。成功了。

汉密尔顿推广了“软件工程”这一术语,他对此颇有微词。批评者说,这夸大了她的工作的重要性,但今天,当软件工程师代表了一个被热烈追捧的部分劳动力,没有人嘲笑玛格丽特汉密尔顿。
史密森国家航空航天博物馆收藏的阿波罗飞行指南计算机软件集(上图,第45506-A页)由汉密尔顿和她的团队创建。(美国国家航空航天博物馆)当阿波罗计划任务时,编写代码的过程开始在大张纸上进行。一个keyphunch操作员会在纸卡上创建孔,将代码键入所谓的punch卡中。史密森国家航空航天博物馆名誉馆长保罗·塞鲁齐说:“现在没有太多人知道穿孔卡片是什么了,但这就是你编程的方式,他认识汉密尔顿已经20年了。
博物馆收藏了汉密尔顿创作的阿波罗飞行制导计算机软件。档案材料包括被称为“清单”的打印输出表,其中显示了制导方程计算的结果。当计算机的输出没有发现问题时,软件工程师会“盯着”列表,确认没有需要注意的问题。
一旦一切看起来都很好,代码就被发送到雷声公司的工厂,其中大部分是女性,其中许多是新英格兰纺织厂的前雇员,她们将铜线和磁芯编织成一条长长的“绳子”。在用1和0写代码的情况下,电线在代表1时穿过微小的磁芯,在代表0时绕过磁芯。这个巧妙的过程创造了一条携带软件指令的绳子。汉密尔顿告诉Ceruzzi,做这项工作的女性被称为LOL,并不是因为她们很有趣;这是“小老太太”的缩写。汉密尔顿被称为“绳母”。馆长teasl Muir Harmony说:“作为一名程序员,
”汉密尔顿“也很有扩展性(上图,在研究阿波罗的时候)想出解决问题的办法,非常创新,非常开箱即用的思维电脑内存有限。这一过程创造了“一个非常强大的系统”,据泰塞尔·缪尔·哈莫尼说,他也是航空航天博物馆的馆长,也是新书《阿波罗登月:50个天体的历史》的作者这就是阿波罗导航计算机在每次任务中都能完美工作的原因之一。从小就热爱数学,汉密尔顿在大学毕业后成为软件写作和工程方面的专家,从而改变了这种亲和力。1959年,她丈夫在哈佛读法学院时,她在麻省理工学院(MIT)工作,学习编写预测天气的软件。一年后,她开始在半自动地面环境(SAGE)程序中对敌机定位系统进行编程。
直到20世纪60年代中期,汉密尔顿才听说麻省理工学院“宣布他们正在找人来编程把人送上月球,我就想,‘哇,我得去那里’。”原计划在布兰迪斯大学攻读抽象数学学位,但美国太空计划赢得了她的芳心。多亏她在SAGE工作的成功,她成为麻省理工学院阿波罗计划聘用的第一位程序员。1965年,她成为麻省理工学院仪器实验室(后来被称为Draper实验室)自己团队的负责人,该实验室致力于为阿波罗11号的两台70磅的计算机编写和测试软件,一台在哥伦比亚曼德舱,另一台在2016年在鹰号登月舱,
,美国总统巴拉克奥巴马授予汉密尔顿自由勋章,指出“她的榜样体现了美国的发现精神。”(劳伦斯·杰克逊在白宫的官方照片)“当我想到玛格丽特·汉密尔顿时,我想到的是她的一句名言‘除了成为先驱,别无选择,“因为我认为这真的体现了她是谁以及她在这个项目中的重要性,”穆尔·哈莫尼说。“当谈到软件工程的开发时,她是一个先驱。作为一名女性在工作场所为这类程序做出贡献的先驱,承担着这类角色。
当时和现在一样,大多数软件工程师都是男性,但她从不让这种情况妨碍自己。“她有这样的心态,应该有平等的权利和平等的机会。也不是关于男人和女人。这是关于人们能够从事他们想从事的工作,并接受他们想接受的挑战,”缪尔和谐说。“作为一名程序员,她也很有扩展性,提出了解决问题的方案,非常创新,非常开箱即用。我认为,这反映在她的职业选择和她在实验室所做的工作中。
为了使软件更可靠,汉密尔顿试图设计阿波罗的软件,使其能够处理未知的问题,并具有足够的灵活性,能够中断一项任务,从而承担更重要的任务。在寻找调试系统的新方法时,她意识到声音可以作为错误检测器。她指出,她在SAGE的项目在运行时听起来像是海边。有一次,她被一位同事叫醒,他说她的节目“听起来不再像海边了!“她迫不及待地投入工作,希望找到问题,并开始将这种新形式的调试应用到她的工作中。”2017年,乐高推出了Margaret Hamilton动作图,这是美国宇航局收藏的部分女性作品(上图在航空航天博物馆)。(国家航空航天博物馆)
作为一个工作母亲,她带着她的小女儿在晚上和周末去麻省理工学院仪器实验室。一天,她的女儿决定“扮演宇航员”,并按下一个模拟器按钮,使系统崩溃。汉密尔顿立刻意识到,这个错误是宇航员可能犯的,所以她想起了调整软件来解决这个问题,但她被告知:“宇航员被训练成永远不会犯错误。”
在阿波罗8号绕月飞行期间,宇航员吉姆·洛威尔犯了和她年幼的女儿完全相同的错误,幸运的是,汉密尔顿的团队能够