1833年夏天的一个星期一的夜晚,17岁的阿达·拜伦和母亲安娜贝拉一起来到了英国数学家查尔斯·巴贝奇(Charles Babbage)的家。作为英国著名浪漫主义诗人,曾写出《唐璜》的乔治·戈登·拜伦(George Gordon Byron)的女儿,阿达从小就流连于各种上流社会。就在12天前,拜伦小姐在上流社会的宴会上见到了巴贝奇,她被他正在制作的机器所吸引。
这台机器是由青铜和钢铁制成的手摇式装置,它使用好几层齿轮、锤状金属臂和数千个标有编号的圆盘,能够自动地解出算式。这台被巴贝奇称为“齿轮差分机(Difference Engine)”的机器还没有完成,只做了一个高约80cm的样机,但它却能发出嘎啦嘎啦的声音,旋转着,回答出复杂的数学公式。
巴贝奇相信,齿轮差分机完工后,可以解决更复杂的数学问题。巴贝奇对原型机的演示就像一种能创造奇迹的魔术,震惊了以查尔斯·达尔文、查尔斯·狄更斯为首的伦敦知识分子和科学界。
但对阿达来说,齿轮差分机不是魔术,而是革新性的机器。当她在1833年的命运之夜看到这台机器时,立刻明白了它的运作原理。同时,41岁的巴贝奇也在年仅17岁的阿达身上发现了与自己同等的智慧。她用20多年的时间证明了巴贝奇对机器的理解和洞察力。
阿达·洛芙莱斯(Ada Lovelace)于1815年12月10日出生于维多利亚时代的英国上流社会,原名奥古斯塔·阿达·拜伦。她的母亲安娜贝拉·拜伦是那个时代能够接受教育的少数女性之一。
安娜贝拉把对知识的热爱,特别是对数学的热爱传递给了女儿,为了年幼的阿达,她聘请了著名的数学家做家庭教师。找不到合适的家庭教师时,就亲自指导女儿。
安娜贝拉让女儿接受最好的教育,并不是单纯地让她追求知识。她担心,如果女儿能无限发挥想象力,会不会变成父亲那样。
阿达的父亲乔治·戈登·拜伦是一位被公众称为拜伦爵士的诗人。虽然他是一位著名的诗人,但他也因其奢侈和复杂的生活作风而臭名昭著。一位情人这样评价拜伦:“不顾一切的坏男人,认识他很危险。”作为浪漫主义时代的名人,他与依赖症作斗争,并且患上了心理疾病。
安娜贝拉和拜伦的婚姻生活在很短的时间内就结束了,据说是因为当阿达出生时,拜伦因为孩子不是男孩而勃然大怒。看来这位拜伦有传统的重男轻女的思想。
1816年1月,阿达出生不到5周的一个早晨,为了摆脱拜伦,安娜贝拉抱着还是婴儿的阿达回到了父母的乡村别墅。
没过几个月,拜伦就离开了英国。作为他唯一的嫡出女儿,阿达从小就没有见过父亲。拜伦在阿达8岁时去世。
安娜贝拉担心阿达会继承父亲毁灭性的性格,所以在培养女儿时,更加注意发展她具有分析性,也即理性的一面。作为回应,阿达从小就热爱数学,这份热情将持续一生。
在阿达十几岁的时候,安娜贝拉苦笑着说,比起那些潜在的精英追求者,她的女儿更感兴趣的是和科学家、数学家聊天。
1835年,阿达与英国贵族威廉·金结婚,不久丈夫成为洛芙莱斯伯爵,阿达也因此被授予洛芙莱斯伯爵夫人的称号。两人都有喜欢马的共同点,而且丈夫也认可阿达的知性和求知欲。
但对阿达来说,与数学家查尔斯·巴贝奇的友谊是她最看重的关系。
1834年的一天晚上,巴贝奇向阿达和安娜贝拉说明了他正在考虑的另一项发明的想法。他在前一年演示给阿达看的手摇齿轮差分机虽然还没有完成,但巴贝奇已经描绘出了更复杂、更高性能的机器。那是由许多旋转的圆盘组成,以蒸汽为动力,大小与机车差不多的机器。
巴贝奇称这台机器为“分析引擎(Analytical Engine)”,并试图让它做超出简单计算的事情。他将此比喻为“吃自己的尾巴”。分析的结果可以继续用于其他公式的计算。也就是说,这台机器不是单纯的“机械机器”,而是一个“计算机”。
被巴贝奇的发明及其可能性所吸引的阿达,在巴贝奇制作机械电路图的过程中,与他保持着密切的联系。
1842年,意大利数学家,后来成为意大利首相的费德里科·路易吉(Federico Luigi)发表了巴贝奇提出的关于机械的论文,阿达为了让英国国内更多人看到这篇文章,将论文翻译成英文。在翻译的论文上只署名“A.A.L.”。
阿达在翻译论文的同时,还发表了自己对机器的理解注释。这个“译注”比翻译的路易吉那篇论文的分量还多,字数是他的两倍以上。而且,比路易吉论文更详细地说明了假设机器的结构。
阿达介绍说,这台机器的功能与提花织布机相似。提花织机是给19世纪的纤维行业带来革命的机器,使用打孔卡织造图案和图案的工作部分实现了自动化。以前由人操作的线,现在可以根据打孔卡上有无孔自动指示织机,短时间内就能织出设计复杂的织物。
打孔卡是一种二进制代码(对0或1等二进制数据的指示转换),“分析引擎”也通过打孔卡运行。阿达写道:“就像提花织机织出花叶图案一样,分析引擎织出代数的图案。”
在她的译注中影响最大的是被称为“译注G”的部分。在这里,她详细地描述了如何将指令写入打孔卡中,才能让分析机关计算在数学的各个领域中使用的“伯努利数”。阿达为这台根本不存在、只能通过描述得知的机器编写了最初的计算机程序。
阿达认为巴贝奇的机器远远超出了计算复杂方程式的范围。她在译注中主张一切可以用数字表示的东西,如音符和字母,都可以由这种机器来操纵。
她预见到了人类与机器协作的时代。巴贝奇本人认为自己机器的用处只停留在计算上,但阿达的见解远远超出了这个范围。
在继承母亲严谨的性格和父亲的奇思妙想性格之间,阿达开展了她的研究。
她一方面诗意地描绘了机械化未来的可能性,同时详细解释了虚拟计算机如何工作。她的数学智慧和创造力使她能够设想到后来被称为计算机的抽象领域。她把自己的作品称之为“诗意的科学”。
1852年,阿达死于子宫癌,年仅36岁。她从未看到她的“分析引擎”的完成,而且说实话,这台机器毕竟还没有实现。在1871年巴贝奇去世时,只制作出了分析引擎的一小部分。
但是,在阿达编写第一个计算机程序100多年后的1979年,全世界交通和军事系统使用的编程语言就以她的名字命名为“ada”。