代码传奇 | 明明可以靠颜值 却用代码把人类送上了月球的女人——Margaret Hamilton

转载 2018年01月11日 00:00:00

点击上方“程序人生”,选择“置顶公众号”

第一时间关注程序猿(媛)身边的故事


据说「软件工程师」这个名词就是她发明的


玛格丽特站在阿波罗计算机指导手册 (AGC) 的源代码程序列表旁边,这些材料摞起来比她的人还要高。图片来源:Margaret Hamilton


缔造传奇的人似乎有个共性:本来没想干一票大的,甚至她的打算都只是相夫教子,却“一不小心”把人类送上了月球——在 1960 年代做职场妈妈已经是件很不寻常的事,而玛格丽特竟然还是个给太空飞船写代码的程序员。可以说,没有Margaret Hamilton,就没有阿姆斯特朗的一小步和人类的一大步。


  • 那时的周末或者平常夜晚,玛格丽特会把女儿劳伦带来实验室。在俯瞰查尔斯河的办公室里,四岁的劳伦在地板上熟睡,而玛格丽特忙着编写代码——这些代码,最终都会添加到阿波罗控制舱的计算机里

  • 那时阿波罗登月计划启动了,玛格丽特在实验室带领一次史诗般的工程壮举,这项工程将改变人类和科技的未来

  • 那时离微软的出现还有 10 年,离马克·安德森 (Marc Andreessen,这家伙是世界上最早开发浏览器的人) 发现软件正在「吞噬世界」也还有将近 50 年。


玛格丽特躺在阿波罗控制舱的模拟器内,图片来源:Margaret Hamilton


玛格丽特和她的女儿劳伦,图片来源:Margaret Hamilton


舞会皇后 Margaret Hamilton


1954 年,她从汉考克高中毕业,随后入读厄勒姆学院,并于四年后取得学士学位,专业是数学,辅修哲学


在这段黄金岁月里,风华正茂的美丽姑娘玛格丽特在厄勒姆学院认识了詹姆士·考克斯·汉密尔顿。在很多人眼里,他只是个不起眼的男孩。而玛格丽特早就在校园里声名远播,已享有「舞会皇后」的美名。爱神丘比特射中了这对璧人,他们不久后便结婚了。


毕业后,玛格丽特·汉密尔顿一边在高中教数学和法语,一边等着丈夫拿到学士学位。之后,他们搬到波士顿,玛格丽特在布兰代斯大学做抽象数学方面的研究。


然而,两个人的小日子还是太紧张了,此时一个工作机会摆在了她面前,当时计算机科学的先锋MIT里一个实验室在招临时编码工。玛格丽特抱着试试看的态度,就这样踏进了程序员的殿堂。


一开始,她为天体学系写天气预报系统的代码,因为工作出色,转为正式工。后来又去了大名鼎鼎的林肯实验室,在这里,玛格丽特给北美防空司令部的半自动地面防空系统项目工作。期间为第一台 AN/FSQ-7 作战指挥中央系统编写探测敌方飞行的软件。


阿波罗飞行控制软件背后的大脑


玛格丽特的事业发展渐渐上了轨道,而此刻的软件世界——由于肯尼迪在 1961 年发起的阿波罗登月项目——也身处巨变的边缘。玛格丽特就职于 MIT 的仪器实验室,在那里,她和同事一起为世界上第一部便携式计算机写代码,同时也创造了计算机编程的核心理念。玛格丽特成了系统编程的专家,也在多场重要的技术争论中得到认可。「我最开始研究编程的时候,没人知道我们在干嘛。我们就像身处美国荒凉的大西部,没有这样的课程,也没有任何一个教授教这个」,玛格丽特说。


左下角的是玛格丽特,她和其他同事正在MIT为阿波罗8号提供后方支持。图片来源:Margaret Hamilton


1965年,玛格丽特开始负责“阿波罗”号计算机的飞行软件。对玛格丽特而言,这是一段激动人心的日子,整个美国都指望着她的工作成果。但是有时候压力也会让她夜里睡不着。


有一次,在参加过一个深夜派对之后,玛格丽特又冲回实验室去修改一段突然想起来出错了的代码。「我总是在幻想报纸的新闻标题,它们会追问错误是如何发生的,而最终原因会指向我」。


软件成了美国要赢登月竞赛的重要筹码。在 1968 年,已经有超过 400 人参与研发阿波罗号的软件。当然,最终人们发现软件为世界带来的远超于此。当玛格丽特和同事在为阿波罗飞船编程的时候,他们也在孵化这个未来估值 4000 亿美元的产业。


获总统自由勋章


一天,劳伦在摆弄 MIT 控制舱模拟器的显示器键盘一体机 DSKY。当她在键盘上乱按的时候,一条错误信息突然出现。劳伦不知怎地启动了一个叫做 P01 的预运行程序,原本正在飞行状态的模拟器一下子崩溃了。


虽然一般来说宇航员不会犯这样的错,但玛格丽特还是想加一段代码防止这种状况的发生。这一提议被 NASA 否决,「他们一遍又一遍地跟我说宇航员不会犯任何错误,他们被训练得近乎完美,」玛格丽特说。她转而加了一句程序说明,所有 NASA 工程师和宇航员都能看到:「不要在飞行过程中按下 P01」。她回忆说,「所有人都说,『那样的事情永远都不会发生』。」


但事情的的确确发生了。时间大约在 1968 年的圣诞节,进入阿波罗 8 号飞船的第五天飞行,宇航员吉姆·洛威尔 (Jim Lovell) 不小心在飞行中启动了 P01 程序。当电话从休斯顿打来的时候,玛格丽特正在仪器实验室的 2 层会议室。启动 P01 程序导致此的导航数据全部清空,阿波罗计算机无法计算出如何返回地球。


玛格丽特和 MIT 的程序员们需要想出一个补救的办法,必须是无错漏的完美办法。在花费 9 小时钻研过面前 8 英寸厚的程序列表后,他们有了一个计划。休斯顿方面需要上传一份新的导航数据,而后一切都会顺利进行。多亏了玛格丽特,还有调皮的劳伦,阿波罗号上的宇航员才得以重返地球。


她做了一个最美的人生选择


时至今日,当你看到玛格丽特的照片,她的美丽跨越了时代和国籍,你仍然会惊叹于她出众的外貌。


她甚至在 1969 年就已经引领了黑丝连衣裙的流行女神装扮,中年之后的她依然美丽知性。



到 1970 年代,玛格丽特已经超越了之前在 NASA 和阿波罗计划中的研究。她后来成立并领导了多家软件公司。如今她的公司汉米尔顿科技距离她开始职业生涯的地方只有几个街区远——MIT,那个至今仍引领代码革命、仍然仰望星辰的地方。


在当今「网红」遍布的喧嚣时代,颜值似乎是你通向康庄大道的捷径。然而,那个时代的她选择用才华征服这个世界,走了一条特立独行的人生之路。她不为自己的美貌所累,而选择了一条苦逼程序员的职业生涯,而且她还领导了堪称为人类历史上最伟大的软件工程项目


明明可以靠颜值,她却偏偏拼代码。玛格丽特·汉密尔顿,这个集智慧、美貌于一身的女子,告诉我们,最美的一条人生之路是用你的智慧为这个世界带来一点点改变。


*本文素材整理自:新浪科技、网易数码、百度百科。


THE END -


点击图片get往期内容

通过计算机视觉估算颜值

看脸的时代,估算颜值当然有意义啦!今天看到一篇估算颜值的blog,看起来挺有意思的,记录下来,分享一下!哈哈哈哈 先放地址:Computer Vision for Predicting Facial...
  • ubunfans
  • ubunfans
  • 2015年11月10日 21:10
  • 2119

颜值计算器(含微信接口)

  • open40cm
  • open40cm
  • 2016年11月08日 09:19
  • 1184

原版韩国传奇3VC++源代码(修正版,可运行)

此代码为传奇II向传奇3过度时期的代码,本人已汉化了部分,并修正了很多可见的BUG,目前所有网关、引擎都是可编译,并且可以使用MSDB的。 详见截图。代码已经汉化,并且了加入了有效注释,可用于研究,...
  • mianfei007
  • mianfei007
  • 2016年10月02日 10:04
  • 2381

【重磅发布】代码谱写传奇,深度揭秘中国开发者现状

原文链接:点击打开链接 摘要: 云栖社区重磅发布首份《2017中国开发者调查报告》,历时3个月的调研,7032人参与调查问卷,最终呈现出一份集开发者画像与能力的完整描绘。《报告》总结概括了中...
  • qq_40954115
  • qq_40954115
  • 2017年12月20日 15:23
  • 46

face++的颜值计算算法实现

face++的颜值计算算法实现 class point{ double x; double y; public point(double x,double y){ this.x=x; ...
  • LegenDavid
  • LegenDavid
  • 2015年09月10日 14:33
  • 3197

NOIP2004P4 火星人 题解

算法:全排列
  • Foliciatarier
  • Foliciatarier
  • 2016年06月09日 16:05
  • 643

颜值测试API,微软小冰颜值,颜值API

微软小冰颜值api http://kan.msxiaobing.com/Api/ImageAnalyze/Process?service=yanzhi 在使用前我们看一下效果{"msgId":"1...
  • Exiaoyin
  • Exiaoyin
  • 2016年08月17日 14:56
  • 9049

【重磅发布】《2017开发者调查报告》代码谱写传奇,深度揭秘中国开发者现状

这是开发者最好的时代。这个世界不断被代码改造,生活中的一切也不断科技化,开发者也正成为一个独特、新兴的群体。那今天,这个“族群”社会特征是什么?拥有何种独特脸谱?技术现状和趋势又是如何?云栖社区除了阿...
  • k6T9Q8XKs6iIkZPPIFq
  • k6T9Q8XKs6iIkZPPIFq
  • 2017年12月20日 00:00
  • 289

热血传奇服务端源代码分析笔记

RunDB.pas 维护DBServer和M2 的数据交换。 RunSock.pas 维护 M2和网关的数据交换。
  • YiLuSuiYun
  • YiLuSuiYun
  • 2014年05月22日 15:33
  • 3896

用OpenCV和Dlib进行人脸颜值预测-解析

参考: 1、http://blog.csdn.net/wc781708249/article/details/78604740 2、http://blog.csdn.net/xingchenbin...
  • wc781708249
  • wc781708249
  • 2017年11月23日 15:30
  • 191
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:代码传奇 | 明明可以靠颜值 却用代码把人类送上了月球的女人——Margaret Hamilton
举报原因:
原因补充:

(最多只允许输入30个字)