你没有见过她的脸,但你一定见过那张照片。
一个年轻女人,和一堆齐腰高的、像砖头一样码起来的打印纸站在一起。那堆纸不是书稿,不是财报,是阿波罗登月飞船的源代码。她站在旁边,笑得很轻。
那个笑,不是得意,是松了口气。
2026年9月30日,Margaret Hamilton去世了,享年90岁。MIT官网发布了讣告,措辞克制,但每句话砸在地上都有坑:
“她定义了新的软件工程形式,帮助启动了一个将永远改变人类历史的行业。”
这话是奥巴马说的,2016年,他亲手给她戴上总统自由勋章。
但你要知道,这个被总统夸“定义了一个行业”的女人,在50多年前,差点连“程序员”这个头衔都不配拥有。
1965年,她的丈夫在报纸上看到一则招聘
那时候软件这东西,在大多数人眼里就是个笑话。
比硬件低一等,比打杂高一等,没人觉得写代码是个正经专业,更没人想到,这玩意儿能把人送上月球。Margaret Hamilton的起点,也谈不上什么雄心壮志——她刚到MIT气象系时,做的是一份临时工的活儿,帮教授Edward Lorenz写天气预报软件,就是那个后来搞出混沌理论的Lorenz。
这段经历,后来被很多人忽略了。但仔细想想挺有意思:她最早的程序,是预测天气的;她后来写的程序,是从月球精准回来的。一个是算不准的风,一个是算得准的轨道。上帝在她身上练习了两遍。
1961年,她去了MIT林肯实验室,给美国第一个空防系统SAGE写软件。那时候前辈程序员丢给她一本操作手册,让她照着编。她发现一个bug,修好了,然后开始琢磨一件事:软件为什么会出错?能不能在设计的时候就不让它出错?
这个念头,在那个年代,比“登月”还要不切实际。
丈夫看到招聘广告的那天,她没有犹豫
1965年,MIT仪器实验室拿到了NASA的合同,要开发阿波罗计划的机载飞行软件。她丈夫在报纸上看到招聘,指给她看。Margaret去应聘,然后成了阿波罗项目第一个程序员,也是第一个女性程序员。
当时的团队有多年轻?她自己后来回忆说:
“我们中的许多人,在二十多岁时就开始了这段旅程……软件是个黑匣子,高层给了我们完全的自由和信任。”
自由和信任,听着好听。换个说法就是:没人知道怎么写,没人敢管,所有坑都得自己踩,而且没有第二次机会。
到1968年,她升任指挥与服务舱团队的负责人。她手下有400多人。全人类历史上第一次登月,脚下的代码,是这个女人带着400个年轻人一行一行敲出来的。
我说句实话,现在随便一个科技公司做App都敢说自己“压力山大”。跟这个比,那叫过家家。
一个四岁女儿,程序员的噩梦,也是功臣
Margaret Hamilton有一个女儿,叫Lauren。
有一天,四岁的Lauren跑到阿波罗指挥舱模拟器旁边玩,小手一顿乱按,竟然激活了预发射程序P01。当时模拟器正处于飞行中段,这个错误程序一跑,整个模拟器直接崩溃。
大人吓得够呛。Margaret却觉得这是个真问题:如果宇航员在真实飞行中误触了P01,导航数据会全部清零。
她提出加一个防护性修复,结果被驳回了。理由是:宇航员训练有素,不会犯这种低级错误。
你猜怎么着?
1968年,阿波罗8号任务中,宇航员Jim Lovell在飞行过程中真的误启动了P01。导航数据当场清零。全船懵了。
Margaret和团队被紧急叫去救火,好在搞定了。然后,她的修复方案终于被采纳。
这叫什么?这叫“被现实打脸后,现实自己承认你才是对的”。
这段往事之所以值得大书特书,不是因为她女儿多厉害,是因为它揭示了一个核心矛盾:在人类最精密的工程里,最大的风险,往往不是机器,而是人自己。
Margaret对此的解法,不是靠纪律,是靠设计。
登月前几分钟,电脑报警了
阿波罗11号的技术性戏剧,发生在鹰号着陆器即将落在月面的那一刻。
电脑突然报错:1202。
整个系统过载了。原因是硬件开关的一个故障。按理说,这时候应该取消降落,或者用人力接管。但问题在于,警报处理不过来,人在那个节骨眼上也没法接管。
Margaret和团队早已写好了一套优先级驱动系统:当系统过载的时候,自动关闭不重要的后台任务,把算力优先供给登月关键操作。
休斯敦飞行控制中心的人盯着数据,赌了。他们选择了相信这套软件。
然后,鹰号落地了。阿姆斯特朗和奥尔德林走上月球,说了那句全世界都听过的话。
但很多人不知道,在那句“个人一小步,人类一大步”的背后,是一个女人带着团队,用几万行代码硬生生“兜住”了整个系统。
这是软件第一次在生死攸关的人类任务中,展现出比硬件更硬的力量。
“软件工程”这个词,是她硬刚出来的
现在“软件工程”四个字放谁面前,都不会有人觉得稀奇。但在上世纪60年代,Margaret Hamilton提出这个词的时候,大家的反应是“挺好笑的”。
她自己说过:
“当我第一次使用这个短语时,它被认为相当滑稽。很长一段时间里,这就像一个玩笑。他们喜欢拿我这些激进的想法开涮。”
激进吗?一个带领400多人团队的人,要求自己做的事被称为“工程”,激进吗?
更狠的是:她不只是嘴上争。1976年,她做了个公司,叫Higher Order Software,基于防错与容错理念做商业软件。1986年,她创立了Hamilton Technologies,搞了一套叫Universal Systems Language的东西,专攻复杂系统的建模和软件开发,核心依然是那件事——错误预防。
她跟错误较了一辈子劲。
有人说这太偏执了。但你要知道,她写的是登月代码。在那个年代,一个符号错了,不是报错,是爆炸。
她没有上过月球,但月球上有她的签名
2016年之后,Margaret Hamilton被互联网考古了出来。那张她站在身体三倍高的代码旁的照片,一夜之间刷屏。在很多人眼里,她成了程序员界的“精神图腾”。
但这是个有点讽刺的现实:那张照片里的代码,是人类历史上被验证过的最成功的导航软件之一;而她本人,在软件工程领域的哲学和建树,反而没太多人关心。
很多人刷到她,只记得那句“史上最酷程序员”,却不知道她是一个曾以一己之力,把一个行业从边角料推到正席的人。
她不是一个符号。她是个顶住了巨大不确定性的人。
晚年时,她陆续拿到NASA杰出太空行动奖、计算机历史博物馆院士奖、国家航空名人堂入选资格,还成了乐高小人。
但我觉得最值得记下的,是她2018年对《国家报》说的那句话:
“没有第二次机会。我们知道这一点。我们很认真。”
不是每个改变世界的人,都适合被做成表情包。
Margaret Hamilton为人类写过最危险的代码,也为人类证明了最冷酷的事实:把不可能变可能,靠的不是天才闪光,是一个复查代码到凌晨的女人,和她那句“软件要能自己处理未知”。
她的一生都在警告这个世界别太自信。到头来,她自己也坚决拒绝相信软件是万能的。
这大概是她能走到月球的原因之一。
我刚才在想,如果现在碰到Margaret Hamilton,她会怎么评价我们每天用着的这些动辄崩溃、动不动就要更新三小时的App?
她大概会微笑着,说一句“我警告过你们了”。
【锐评】:她留下了一堆能登上月球的代码,和我们一堆连App闪退都修不明白的程序员。到底谁在“软件工程”,谁在“软件糊弄”啊。
参考链接:
https://news.mit.edu/2026/margaret-hamilton-computing-pioneer-dies-1007