美文网首页读书自然科普
史上最伟大的女程序员,集智慧和美貌于一身

史上最伟大的女程序员,集智慧和美貌于一身

作者: 驴友花雕 | 来源:发表于2020-01-29 17:52 被阅读0次

在整个计算机发展史中,女程序员始终占有极其重要的地位。这其中最为著名的就是著名英国诗人拜伦之女埃达·洛夫莱斯Ada Lovelace,他被后人公认为第一位计算机程序员,另一位举足轻重的就是今天文章的主角 玛格丽特·希菲尔德·汉密尔顿(Margaret Heafield Hamilton)

玛格丽特·希菲尔德·汉密尔顿(Margaret Heafield Hamilton,1936年),美国计算机科学家,系统工程师和企业家,曾担任 MIT 仪器实验室软件工程部的主管,帮助该实验室开发阿波罗计划中航天器搭载的飞行软件,其编写的程序都以最大程度防止崩溃为目的,从而防止了阿波罗 11 号登月计划中缀。

1969年,知名软件工程师玛格丽特·汉密尔顿(Margaret Hamilton)  

基于阿波罗这段工作经历,她又后续开发了 通用系统语言(Universal Systems Language) 和 开发先于事实(Development Before the Fact)的范例。她开创了异步软件、优先调度和超可靠的软件设计理念,被认为发明了「软件工程(Software Engineering)」一词。1986 年获奥古斯塔·埃达·洛夫莱斯奖,2003 年获得 NASA 杰出太空行动奖。

她是不走寻常路的「女神」

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

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

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

那个年代并不鼓励女性参与高强度的技术工作。但是她却坚持选择了一条非典型的程序员进化之路。她一半是对科学的如痴如醉,另一半则是作为一个普通女性对于家庭的依恋。她依旧日复一日地读书、做研究、顺其自然地嫁人,还打算要个孩子。她遵循着一般女性的足迹,虽然比当时的家庭主妇显得更 「高知」了一些。

上帝有时候确实是不公平的,他让有些人不光生得一副好面孔,更不惜给他们超于常人的智力。而这些人,有时候甚至比普通人更加努力。

玛格丽特·汉密尔顿无疑是上帝的宠儿,但是她却比谁都努力。

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

1960 年,玛格丽特在麻省理工找了一份临时的软件开发工作,负责编写在 PDP-1 和 LGP-30 计算机上运行的天气预报软件。

这一年,她 25岁。

一年以后,玛格丽特又转去了成立刚 10 年的林肯实验室。在这里,玛格丽特给北美防空司令部的半自动地面防空系统项目工作。期间为第一台 AN/FSQ-7 作战指挥中央系统编写探测敌方飞行的软件。

1963 年,玛格丽特加入麻省理工查尔斯·斯塔克德雷珀实验室( Charles Stark Draper Laboratory )。当时,这个实验室正在为阿波罗计划,也就是大名鼎鼎的人类登月计划而工作。

此时的她已经有了一个 4 岁的女儿。作为职业女性,同时肩负着母亲的责任。玛格丽特只好把女儿劳伦带到查尔斯河畔的办公室里。孩子自己玩,玩累了就自己睡觉,妈妈则在旁边给阿波罗飞船的软件写代码。

1960 年代美国的家庭观念对女性有着各种束缚。把孩子扔在一边,自己忙于工作,在他们看来不是一件可取的事。可是,玛格丽塔无法放弃她的工作,因为,她太喜欢这种新奇的事了:把人类送上月球,这是一件多么前所未有的挑战。

她喜欢这里的工作氛围,喜欢这些跟她有共同语言的 Geek 同事们。更重要的是,她在这里所做的事情,很多都是人类史无前例的尝试。而她,是这项伟大工程中至关重要的角色。此时的她,已经是阿波罗计划首席软件工程师了。

其实阿波罗计划开始之初,没人知道做什么,也没人会教你做什么。甚至连「软件工程」这个词,还要等着玛格丽特来发明。而有点可笑的是,最早的时候,阿波罗计划的设计者压根就没想到软件这回事儿,在项目计划书上没提到软件,没有预算,没有工作计划。这事儿放在今天看,着实难以想象。

不过,随着阿波罗计划逐步展开,软件工程重要性越来越凸显,玛格丽特也越来越紧张了。毕竟,苏联人加加林代表了全人类第一次进入太空,美国政府压力巨大,全美国都在指望着她。

当今的程序员们,每天对着大大的显示器,使用高级语言,坐在温度适宜的空调房里,用一种近乎优雅的方式编程。可是在那个年头,完全是另外一番景象:

那个时代,火箭和飞船上的代码开发难度是当代的计算机无法比拟的程度。

(不管是磁心线还是打孔卡片),在计算机还没有发展完善以前,火箭代码是没法 Debug 的。火箭和飞船的程序员们必定通过纸笔度过了很多不眠不休的夜晚。

那个时代,晶体管计算机还没发展完善,编程用的是汇编语言,计算机世界缺乏统一和规范。

阿波罗飞船上包含着许多不同的计算机模块,为了给不同的模块编程,少说得学三五套汇编语言。玛格丽特作为项目的领导,基本每套汇编语言都需要精通,其复杂程度可想而知。

人类实现的第一个卡尔曼滤波器(线性系统的最优估计观测器)是在阿波罗计划中实现的。

作者是斯坦利施密特。作为首席工程师的玛格丽特也参与了讨论和开发,代码一定也在这一摞厚厚的纸当中。

那么,问题来了:给阿波罗飞船写导航和登陆程序,代码量有多大呢?

玛格丽特扶着的,正是阿波罗的软件代码清单

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

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

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

2003年,她因技术和科学贡献获NASA杰出太空行动奖,该奖是美国宇航局史上对个人的最大奖赏。

在当今「网红」遍布的喧嚣时代,颜值似乎是你通向康庄大道的捷径。然而,那个时代的她选择用才华征服这个世界,走了一条特立独行的人生之路。

她不为自己的美貌所累,而选择了一条苦逼程序员的职业生涯,而且她还领导了堪称为人类历史上最伟大的软件工程项目。

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

最近美国媒体IT world通过投票,选出了还在世的“世界上最伟大程序员排名”,玛格丽特的名字稳稳地排在第一。

Making a world of difference(让世界因你不同)

相关文章

网友评论

    本文标题:史上最伟大的女程序员,集智慧和美貌于一身

    本文链接:https://www.haomeiwen.com/subject/gvfbthtx.html