致力于性别研究的已故美国学者Myra Sadker曾说过:“如果癌症的治疗秘诀是在女性的脑中,我们可能永远都发现不了。”我从1968年至1972年就读于纽约布朗克斯的纽约大学工程学院,在我们新生班里,只有少数几个女生。今天的情况稍好一点,但男性和女性接受工程教育的人数比例还是相差甚远。我纳闷,为什么不可能像我在布朗克斯PS 32小学读一年级时,男、女生比例正好是50/50?

在19世纪初,女性还没有投票权,年轻女性上学时只能选择非常有限的科目,而且不能上大学。在由男性主导的科学世界,有一个耀眼的女性科学明星,被誉为第一位计算机科学家,她就是Ada Lovelace。 Ada-F1 图1:Ada Lovelace的一张罕见银版照,当时她大约30岁。(图片由Loretta Taranovich和计算机历史博物馆提供)

我最近参观了位于加州山景城的计算机历史博物馆,当时正好举办Lovelace伯爵夫人Ada诞辰202周年纪念活动,展出了她的一些照片和信件/手稿。借此机会我要感谢Lytton伯爵的家人、牛津Bodleian图书馆、牛津Somerville学院、伦敦科学博物馆、伦敦国家肖像画廊,以及Geoffrey Bond等的赞助。

Lovelace是著名诗人拜伦唯一合法的女儿。拜伦在她只有一个月大的时候遗弃了他的妻子和新生女儿。Lovelace的母亲担心女儿会“感染”拜伦式“疯狂”,决定让她远离文艺,引导她转向数学和科学领域。

从5岁开始,Ada Lovelace就接受一系列严格的教育,由她母亲拜伦夫人亲自监督。她是一个富有想象力的孩子。这样的教育培养了她对数学和科学的兴趣,她对机械学也很着迷。

整个1828年,她在给母亲的信中都在讲述自己尝试用纸、丝绸或羽毛来制作翅膀,以便能够飞起来。这样的想象力最终使她参与到一个由蒸汽机驱动的飞行机器项目中。

后来,Charles Babbage的分析引擎(图3)给了Lovelace极大的灵感。该引擎是第一个采用现代线条设计的计算引擎,Babbage也因此被尊称为“计算之父”。

Lovelace和Babbage深入研究了数学领域的“Konigsberg七桥问题”:一个公园有一条小河穿过,河上有两个小岛,有七座桥把两个岛与河岸联接起来。一个步行者怎样才能不重复、不遗漏地一次走完七座桥,最后回到出发点(图2)?在现代计算机网络领域,也有类似的数据处理问题。

Ada-F2 图2:还有与毕达哥拉斯定理有关的三角形和正方形,以及数字1到9的“魔方”,其中行、列和对角线的总和是15。

1821年Babbage开始设计差分引擎一号,用于计算和制表多项式函数。该设计构想了一种机器,可以自动计算一系列的值并在表中打印结果。打印设备是设计的一部分,它与计算部分机械集成为一体。差分引擎一号是第一个完整的自动计算引擎设计(图3)。

Ada-F3 图3:Babbage于1832年设计的差分引擎一号包含200个部件,图中所示只是完整引擎的1/7。 (图片由Loretta Taranovich和计算机历史博物馆提供)

Babbage的分析引擎原则上可以计算出任何公式。在图4中,左边是计算单元“Mill”,右边是存储器,也称为“Store”。三种不同类型的打孔卡形成输入数据和指令。

Ada-F4 图4:当计算需要循环时,一个复杂的机制会移动卡块。Babbage的设计思想是连续跟踪不同部件之间的相互作用。(图片由Loretta Taranovich和计算机历史博物馆提供)

Lovelace在科学尤其是数学方面有着丰富的想象力,因此她能够理解Babbage差分引擎的工作原理和潜力。1833年,在17岁刚踏入社会的第一年,她有幸成为见识Babbage差分引擎原型的一小部分人之一。这开启了他们之间的友谊,直到1852年她36岁时去世。最终,Lovelace对Babbage的分析引擎设计有了深刻的理解。

Babbage一系列机械计算机设计计划中最雄心勃勃的便是这个分析引擎了,虽然从未建成,但Lovelace为此撰写了一部了不起的论文,即“Charles Babbage分析引擎原理(Sketch of the Analytical Engine Invented by Charles Babbage)”,这一论文于1842年发表。其中的一个表格常被描述为“第一个计算机程序”,它对未来计算机的挑战及其创造性和创新性潜力的憧憬极具远见,甚至包括音乐的创作。

Babbage称Lovelace为“数字妖精”。Lovelace准备发布她的论文,这使她与Babbage的关系变得紧张起来。Lovelace希望继续与他合作,但为未来的合作设定了一些严格的条件。他们仍然是朋友,但从此再未合作。

Lovelace的设计思想超越了Babbage的观点,Babbage只是将计算机视为数字的操控者,而Lovelace则专注于计算机创造性的可能性和局限性,这也是我们在当今的电子世界需要处理的问题。

Babbage从未写过关于他的设计的文字,但1840年他在都灵大学做过一次相关的讲座。参加讲座的Luigi Federico Menabrea(一位工程师和数学家)用法语发表了该讲座的记录。1842年,Lovelace受Wheatstone委托将Menabrea的论文翻译成英文,并增加了大量笔记,其篇幅增加了三倍之多。她的笔记包含第一个由通用计算机执行的算法,用于计算Bernoulli数字,这通常被认为是历史上第一个计算机程序。

她的笔记还包含在随后的学术辩论中提出的两个重要思想:

1.“例如,假设和声科学与音乐作品中的高音音调的基本关系易受这种表达和适应性的影响,引擎就可能会编写任何复杂度的音乐作品。”—— 这在计算机和音乐领域经常被引用。

2.“分析引擎不创造任何东西,它可以完成我们命令它执行的任何任务。它也可以跟踪分析,但却无法预测任何分析关系或真相。它的价值在于协助我们做好我们已经熟悉的事情。”——这在关于计算机和创造力的讨论中经常被引用,特别是在数学家Turing的“模仿游戏”论文,以及人工智能学者Margaret Boden的“Lovelace问题”中。

她超越了“思考型”机器,而进入到生物进程的生物物理学和数学模型范畴。

Lovelace因患癌症而在36岁的年纪过早离世。如果她活得久一些,我们无法想像她还能做出一些什么更重要的科学贡献。

一种新的编程语言:Ada

Alan Turing在他的计算机思想中吸取了Lovelace的观点,计算机科学家以“Ada”命名了一种编程语言来纪念她,也有很多专门为科学界女性发起的项目都以“Ada”命名。

80年代初,Ada编程语言被开发出来。它主要用于高完整性/安全性领域,包括商用和军用航空飞行设备、空中交通管制、铁路系统,以及医疗设备等。若感兴趣,可以上网找到关于Ada编程用法的更多信息。

Lovelace一直是激励年轻女孩和科学界女性的榜样,我们需要给予年轻女性更多探索工程科学领域的机会。

请与我们分享您的想法。EDN将一如既往地期待您的观点。

原文刊登在EDN美国网站,参考链接Ada Lovelace and Charles Babbage: 19th century mathematical brilliance,由Jenny Liao编译整理。

20160630000123