现在的位置: 主页 > 在线留言 > 文章列表

她写的代码把人类带上了月球|兰西一中贴吧

作者:北京夜明珠节能科技有限公司 来源:www.ymzjn.com 发布时间:2015-11-03 09:41:15
她写的代码把人类带上了月球

  来源:界面

  没有她,就没有阿姆斯特朗的一小步和人类的1c7e080dbf98fcb83528896e73e5080c步。

玛格丽特?汉密尔顿(Margaret Hamilton)在MIT博物馆,图片来源:HARRY GOULD HARVEY IV玛格丽特?汉密尔顿(Margaret Hamilton)在MIT博物馆,图片来源:HARRY GOULD HARVEY IV

  玛格丽特?汉密尔顿(Margaret Hamilton)本无意提出软件的现代概念,也没想过要将人类送上月球。要知道1960年的社a8effa3d758e13e2362dacfbd709d8db并不鼓励女性从事高科技行业。那时24岁的玛格丽特数学系本科刚毕业,她计划节衣缩食3年供丈夫入读哈佛法学院,然后自己再去读数学研究生

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

  在1960年代做253094699bc5ea7ade73dc4e1d0c8751妈妈已经是件很不寻常的事,而玛格丽特竟然还是个给太空飞船写代码的程序员。在周末平常的夜晚,玛格丽特会把女儿劳伦带来实验室。在俯瞰查尔斯河的办公室里,四岁的劳伦在地板上熟睡,而玛格丽特忙着编写代码��这些代码,最终都会添加到阿波罗控制舱的计算机里。

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

  玛格丽特回忆说,“他们对我说,你怎么能离得开女啊?”。但是她深爱这份工作的神秘和新奇,她也很喜欢同事之的情谊��下班后他们会在MIT的职员俱乐部一起喝点小酒,讲只有技术宅才能听懂的笑话。旁人听得一头雾水,但在实验室里,她说,“我是兄弟们的一员”。

  那时的技术与工程领域也由“兄弟们”主导。跟今天科技圈少有的女码农一样,当时的玛格丽特就像是个不折不扣的异类。现在的软件开发者也该惊讶,这个“男孩俱乐部”的其中一个奠基人竟然是个女人。他们或许也该停下来想一想,这种《广告狂人》时代的性别不平等何以持续至今。

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

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

  这个时候离微软的出现还有10年,离马克?安德森(Marc Andreessen,这伙是世界上最早开发浏览器的人)发现软件正在“吞噬世界”也还有将近50年。在阿波罗计划的早期,人们并没有过多思考软件是怎么一回事。MIT航天学教授大卫?曼德尔(David Mindell)在《数字阿波罗》(Digital Apollo)一书中写道,那些记录阿波罗计划相工程要求的文件甚至都没有提到“软件”这个b52bf7b27a99de2006c7760c6249fae0。“软件并不包括在计划里,因此也不在预算内”。反正一开始,软件并没有受到重

  但随着阿波罗计划的推进,软件在这个任务中的重要性也明晰起来。1965年,玛格丽特开始负责“阿波罗”号计算机的飞行软件。对玛格丽特而言,这是一段83692e26f0f29ea47a85663bb1b4fdd9人心的日子,整个美国都指望着她的工作成果。但是有时候压也会让她夜里睡不着。有一次,在参加过一个深夜派对之后,玛格丽特又冲实验室去修改一段突然想起来出错了的代码。“我总是在幻想2cf533e5cc5416927c6356b51c2f765b纸的新闻标题它们会追106eeb6cc6562009e06a9ca6ce3cd8dc错误是如何发生的,而最终原因会指向我”。

图为1962年4月19日,玛格丽特和她的前同事。玛格丽特当时正在林肯实验室的第一台AN/FSQ-7电脑上研发软件,一个雷达监测软件,用以监测敌机。图片来源:Margaret Hamilton  图为1962年4月19日,玛格丽特和她的前同事。玛格丽特当时正在肯实验室的第一台AN/FSQ-7电脑上发软件,一个雷达监测软件,用以监测敌机。图片来源:Margaret Hamilton

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

  对玛格丽特来说,编程就像是在沓穿孔卡片上穿孔,可以整夜整批在一941acc0b6ab904642102329d1543e71c模仿阿波罗登月工作0728d99f7e527d289a4d429cf03f4e6e(Honeywell)大型主机上进行。玛格丽特回忆说,“我们必须在飞船起飞之前模拟各种可能发生的情况”。一旦代码确定后,就会被送往附近一家雷神公司(Raytheon)的厂房。那里有一群“擅长针线活”的妇女,她们在阿波罗项目中被称为“小小老妇人”,她们将铜线穿过磁环(穿过磁心的代表1,绕过磁心的代表0)。没有RAM,也没有磁盘驱动器;在阿波罗号上,存储器靠的就是硬线,而且可以说是无坚不摧。

一位雷神公司的员工正将铜线穿过磁环,图片来源:JACK POUNDSTONE/RAYTHEON一位雷神公司的员工正将铜线穿过磁环,图片来源:JACK POUNDSTONE/RAYTHEON
阿波罗计划的“小小老妇人”,图片来源:JACK POUNDSTONE/RAYTHEON阿波罗计划的“小小老人”,图片来源:JACK POUNDSTONE/RAYTHEON
铜线穿绕磁环,近照,图片来源:JACK POUNDSTONE/RAYTHEON铜线穿绕磁环,近照,图片来源:JACK POUNDSTONE/RAYTHEON

  阿波罗飞行2b013a33581b085731998d0fe8488fa3上载着两个近乎一样的机器:一个用于登月舱��也就是登陆月球的鹰号,另一个于载着宇航员往返地6b6b13520253abfe19491135b209a40d的作舱。跟其他庞大的计算机不同,这些重达70磅的计算机是便携的。由MIT工程师哈尔?兰宁(Hal Laning)和玛格丽特的老板迪克?贝顿(Dick Batton)设计,这是首批使用集成电路而管的重要计算机。正如曼德尔在中所写,这是第一个由人工操作、但带计算机控制自动ecc701be90dd0869f36f885fa9ab705e技术的机载导航系统,可谓是如今喷气机标配的导航系统的老辈。

  这个系统可以永久保存超过1.2个字节��也就是雷神公司的女孩们用铜线穿绕的环��临时存储的空间为1024个字节。“这是第一次将一台重要的计算机搬到飞船上,还赋予了它极大的责任,”当时在MIT仪器实验室负责编写登月舱代码的唐?埃尔斯(Don Eyles)说,“我们明了这是可以实现的。我们用今天看起来不可思议、小的内存和非常缓慢的计算速度做到了这一切。”缺了这一切,尼尔?阿姆斯特朗(Neil Arms8368c49f021c5581a6272cc1aa8d4175g)不可能登上月球;而如果没有玛格丽特、埃尔斯和MIT工程师们编写的软件,计算机于此也不过是一件无用之物。

  这一点在1969年的6月20号得到了充分体现。在阿波罗11号飞船即将登陆月球前的几分钟,这么关键的时刻,阿波罗计算机却开始突然不断出现错误信息。而正是接下来发生的一切为玛格丽特赢得认可,为团队成功解决了危机。错误信息的大量出现是因为计算机的过度运转,除了控制舱登陆月球表面所需的进程以外,计算机还进行着一系列不必要的计算。而在休斯顿,工程师很清楚,因为阿波罗号特有的异步处理,这部计算机会6abac325d8de574bbf8c9cffba636e5e处理手边这项任务��让鹰号在月球登陆。玛格丽特说,当软件意识到没有够空间去运行进程的时候,它会自己进行错误检查,然后集中处理重最高的工作。

  “不可能发生的事”

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

  一天,劳伦在摆MIT控制舱模拟器的显示器键盘一体机DSKY。当她在键盘上按的时候,一条错误信息突然出现。劳不知怎地启动了一个叫做P01的预运行程序,原本正在飞行状态的模拟器一下子崩溃了。虽然一般来说宇航员不会犯这样的错,但玛格丽特还是想加一段代码防止这状况的发生。这一提议被NASA否决,“他们一遍又一遍地跟我说宇航员不会犯任何错误,他们被训练得近乎完美,”玛格丽特说。她转而加了一句程序说明,所有NASA工程师和宇航员都能看到:“不要在飞行过程中按下P01”。她回忆说,“所有人都说,‘那样的事情永远都不会发生’。”

  但事情的的确确发生了。时间大约在1968年的圣诞节,进入阿波罗8号飞船的第五天飞行,宇航员吉姆?洛威尔(Jim Lovell)不小心在飞行中启动了P01程序。当电话从休斯顿打来的时候,玛格丽特正在仪器实验室的2层会议室。启动P01程序导致此的导航数据全部空,阿波罗计算机无法计算出如何返回地球。玛格丽特和MIT的程序员们需要想出一个补救的办法友情伴我同行,必须是无错漏的完美办法。在花费9小时钻研过面前8英寸厚的程序列表后,他们有了一个计划。休斯顿方面需要上传一份新的导航数据,而后一切都会顺利进行。多亏了玛格丽特,还有调皮的劳伦,阿波罗号上的宇航员才得以重返地球。

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

  同样值得的是玛格丽特和她开创的工作,这些让人类认清自己在太空和地面能做些什么。而软件工程这个由玛格丽特引领的概念,从人类登月到现在几乎进入人类生活的方方面面。到1970年代,玛格丽特已经超越了之前在NASA和阿波罗计划中的研究。她后来成立并领导了多家软件公司。如今她的公司汉米尔顿科技距离她开始职业生涯的地方只有几个49f0f9af355e4ca0d8b3b79d598e55506c624152e8c082924bbee0721635df0a12598806116c63bb8d1a781d1b区远��MIT,那个至今仍引领代码革命、仍然仰望星辰的地方。

  翻译:李睿一


也许您也喜欢:
上一篇:高净值人群更愿意为什么样的手机买|俺娘苏春草分集剧 下一篇:云宏信息:左推“打地基”右攻“私有云”|官窑招聘