猿传奇程序员

【猿传奇 | 16】她是拜伦的女儿,却成为了第一位计算机科学家

2018-08-01  本文已影响77人  bbd652e0e6af

静态反编译软件 IDA Pro,是大家公认为最好的花钱可以买到的逆向工程利器。它的 icon 一直是人们津津乐道的一个话题:一个看起来是从油画中截取到的女性头像,是如何成为一个反汇编工具的 icon 呢?

有好奇心比较重的朋友就用这个 icon 去做图片搜素,通过对比搜索到的人是法国国王路易十四的第二个妻子曼特农夫人。IDA Pro 为什么选择一位和程序代码八竿子打不着的贵妇成为 icon 呢?IDA 分销商 Datarescue 的负责人 Pierre Vandevenne 是这么解释的:

image

原来,这位曼特农夫人也只是一个“替身”,他们真的想要找的是Ada Lovelace,但是因为找不到 Ada Lovelace 的免费照片,只好使用曼特浓夫人作为代替了。

那么,这位 Ada Lovelace 是何许人也?

Ada Lovelace 原名是 Ada Augusta Byron,1815年12月10日,她出生在伦敦一个上流社会的新婚家庭中。她的父亲是英国著名诗人拜伦(George Byron),母亲安娜·密尔班克(Anna Millbanke)则是一位业余数学爱好者,性格沉静且遵循传统。 Ada 出生刚5个星期,父母截然对立的性格让他们分道扬镳。拜伦就此离开了英国,始终没有回去看女儿一眼,这个决定也让他感到非常懊悔,只能用诗来表达自己对女儿的思念和歉疚,他的一首诗的名字就叫《Ada》。1824年,拜伦死于希腊,年仅36岁。

Ada 的童年几乎与世隔绝,她和她的家庭教师和她的猫一起生活在母亲继承的庄园里。母亲强制她把大量时间用在学习和锻炼上。Ada 学过历史、文学、语言、地理、音乐,化学、缝纫、速记和简单几何代数方面的数学。Ada 没有继承到父亲如诗般的的浪漫,却继承了母亲的毅力和数学才能。

1833年的6月5日,Ada 参加了查尔斯·巴贝奇(Charles Babbage)在家举办的聚会,查尔斯邀请她和母亲来参观他最新创造的差分机:一个两英尺高的手摇装置,由 2000 个铜管装置组成。现在陈列在伦敦的科学博物馆。Ada 的母亲称之为“思考机器”,它能“计算出二次方程的根”。Ada 被这台机器深深的吸引住了,她看得非常仔细,十分理解并且深知巴贝奇这项发明的重大意义。这改变了 Ada 之后的人生轨迹。


那时的巴贝奇,正在四处游说他正在酝酿中的分析机设想,却很少有人理解,以为他是在“痴人说梦”。面对一个理解他思想的人,巴贝奇当即将自己的想法详细地讲给 Ada 听。Ada 认真地听完巴贝奇的计划,并仔细看了他的文稿,深深地为之陶醉。凭着她深厚的数学功底和丰富的想象力,她认为,这的确是一个将要改变世界的伟大设想,她表示一有机会将亲身参与这项工作。

Ada 和差分机的这次巧遇可能是点燃她数学兴趣的星星之火。她也因此结识了玛丽·萨默维尔(Mary Somerville),拉普拉斯的译者和著名的科学评论家,在玛丽对她的鼓励下,Ada 开始充满热情地学习欧几里得几何学。

经玛丽介绍,Ada 19岁嫁给了一位比她大11岁的绅士威廉·金(William King)。不久后,丈夫被册封为洛甫雷斯伯爵(Lord Lovelace)。按照英国的习俗,许多资料在介绍 Ada 时,都把她称为“洛甫雷斯伯爵夫人”(Countess of Lovelace)。Ada 和丈夫的关系非常亲密,家庭生活十分温馨,更值得庆幸的是,威廉·金对妻子的工作也很感兴趣,给予她极大的支持。

亲自参与分析机研究是 Ada 的夙愿,这个机会终于让她等来了。1840年,巴贝奇来到意大利的都灵,在各种会议上多次介绍他的分析机。几乎所有的人都嗤之以鼻,只有三个人坚定地与他站在一起。一个是他的儿子,一个当然是Ada,另外一位,则是后来担任过意大利总理的数学家闵那布利( L.Meneblea )。1842年,闵那布利将巴贝奇关于分析机的讲演和谈话,编辑成为一本书的手稿。由于这部手稿是用法文写的,为了扩大影响,Ada 执意要动手将其翻译成英文。


Ada 的翻译工作做得异常出色,一年之后,她居然把245页纸的原稿“翻译”成为542页的著作,加进了自己所写的297页。巴贝奇发现,Ada 不仅在著作中加入了她天才的想象,而且补充了许多独到的见解。她特别强调存储程序和数据的重要性,而这与今天的计算机技术不谋而合。Ada 对计算机应用前景的展望,连巴贝奇自己从来都没有想过。Ada 认为,计算机应该发展成一个可用符号来表示任何事物的装置,她还预见到计算机可以绘图、演奏音乐,以及应用于其他科学领域。

Ada 对著作的修改,使巴贝奇深感惊奇和鼓舞,他多次对人称赞说:“Ada 真是个充满想象力和洞察力的女孩,她是数字女神,把诗歌的激情融入了她写的书中。”其实,Ada 的最大贡献不仅仅是诗一般的语言,经她“翻译”的这本书,可以称为程序设计的第一部专著。她在著作中非常得体地评价道:“分析机‘编织’的代数模式同杰卡德编织的花叶完全一样”,她建议分析机应该把十进制编码改为二进制。于是,为分析机编制一批函数计算程序的重担,落到了数学才女柔弱的肩头。

Ada 开天辟地第一回为分析机编出了程序,其中包括计算三角函数的程序、级数相乘程序、伯努利数计算程序等等,现在被视为是“第一套计算机软件”。Ada 编制的这些程序,即使到了今天,电脑软件界的后辈小子们仍然不敢轻易改动一条指令,足见其功夫之臻美。她还设计出系列程序设计方法,包括循环和递归,以及类似于我们今天使用的流程图。在17世纪的英国,很少有女子能够出版学术专著,为了替妇女争得一席之地,Ada 决定在手稿上署上自己名称的缩写字母:A.A.L(Ada Augusta Lovelace)。

在以后的日子里,Ada 竭尽全力替巴贝奇把分析机的思想向外界传播。由于巴贝奇晚年因喉疾几乎不能说话,如果没有 Ada 清晰的解说,后人可能根本不了解分析机的详情。她曾激情地写到:“这台机器不论在可能完成的计算范围、简便程度以及可靠性与精确度方面,或是在计算时完全不用人参与方面,都超过了以前的机器。”在生前给巴贝奇的最后一封信里,她正确地评价说:“分析机谈不上能创造什么东西。但它能做我们命令它做的任何工作。它能进行分析但不能预知任何分析关系或真理。它的本份是帮助我们去实现我们已知的事情。”今天我们看到这些话,可能不会感到惊讶,但在150多年前的科学界,还没有任何人做出过如此精辟的预言。

Ada 在研究期间其实已经身患重病,依靠鸦片和大麻缓解痛苦,但仍因患癌症医治无效最终死于1852年11月27日,没能看到计算机软件辉煌的那一天。与她的父亲拜伦一样,Ada 只活了短短的36年(Ada的生命多254天)。应她生前的要求,Ada 被下葬在诺丁汉郡她父亲的墓穴旁。Ada 的母亲做了一块墓碑,刻有 Ada 作的一首十四行诗,题为《彩虹》(The Rainbow)。

巴贝其差分机后来被认为是最早期的计算机雏形,而 Ada 的算法则被认为是最早的计算机程序和软件。

她死后一百年的1953年,Ada 之前所留下的笔记被重新公布,并被公认对现代计算机与软件工程造成了重大影响。在1980年12月10日,美国国防部制作了一个新的高级计算机编程语言——Ada,以纪念Ada Lovelace。

Ada Lovelace 一直是激励年轻女孩和科学界女性的榜样,她的事迹也时刻提醒着我们需要给予年轻女性更多探索工程科学领域的机会。近年来优秀的女性程序员数量越来越多,相信她们知道 Ada 的故事后,一定会在计算机科学领域更加坚定的走下去。

上一篇下一篇

猜你喜欢

热点阅读