跳动百科

Ada Lovelace在语言和针绣方面的技能为她在计算机领域的开创性工作做出了贡献

荀凝娅
导读 艾达·洛夫莱斯 (Ada Lovelace) 出生于 1815 年 12 月 10 日,被誉为第一位计算机程序员,比数字电子计算机开发早了一个多世纪。L

艾达·洛夫莱斯 (Ada Lovelace) 出生于 1815 年 12 月 10 日,被誉为第一位计算机程序员,比数字电子计算机开发早了一个多世纪。

Lovelace 被誉为科学、技术、工程和数学 (STEM) 领域女孩的典范。2015 年,为纪念她诞辰 200 周年,出版了十几本面向年轻读者的传记。2018 年,《纽约时报》将她列为#MeToo 运动兴起时首批女性“失踪讣告”之一。

但洛夫莱斯——婚后的洛夫莱斯伯爵夫人艾达·金——除了数理逻辑外,还在许多不同的领域进行创新工作,包括语言、音乐和针线活。认识到她全面的教育使她能够完成远远领先于她时代的工作,她可以成为所有学生的榜样,而不仅仅是女孩。

洛夫莱斯是丑闻缠身的浪漫主义诗人乔治·戈登·拜伦(又名拜伦勋爵)和他受过高等教育且严格信奉宗教的妻子安妮·伊莎贝拉·诺埃尔·拜伦(人称拜伦夫人)的女儿。Lovelace 的父母在她出生后不久就分居了。在那个不允许女性拥有财产并且几乎没有合法权利的时代,她的母亲设法获得了女儿的监护权。

洛夫莱斯生长在一个特权贵族家庭,接受家庭教师教育,这对像她这样的女孩来说很常见。她接受了法语和语、音乐以及刺绣等手工艺的课程。对于她那个时代的女孩来说并不常见,她还学习了数学。洛夫莱斯在她的成年生活中继续与数学导师一起工作,她最终与伦敦大学的数学家和逻辑学家奥古斯都德摩根就符号逻辑进行了通信。

Lovelace 的算法

Lovelace 在编写她的计算机程序时吸取了所有这些教训——实际上,它是一套用于机械计算器的指令,仅由部分组成。

有问题的计算机是由数学家、哲学家和发明家查尔斯·巴贝奇设计的分析引擎。洛夫莱斯在被介绍到伦敦社会时认识了巴贝奇。两人因对数学的共同热爱和对机械计算的迷恋而相互联系。到 1840 年代初,巴贝奇在数学计算器上赢得和失去了政府资助,与为他的机器制造精密零件的熟练工匠发生争执,几乎要放弃他的项目。在这一点上,洛夫莱斯作为倡导者介入。

为了让英国观众了解巴贝奇的计算器,洛夫莱斯提议将一篇描述分析机的文章翻译成英文。这篇文章由数学家Luigi Menabrea用法语撰写,并发表在瑞士期刊上。学者们认为巴贝奇鼓励她添加自己的笔记。

在她的笔记中,比原来的文章长两倍,洛夫莱斯借鉴了她所受教育的不同领域。Lovelace 首先描述了如何将指令编码到带有穿孔的卡片上,例如用于提花织机的卡片,这是一种在 1804 年获得专利的设备,使用穿孔卡片在织物中自动编织图案。

Lovelace 自己学过刺绣,熟悉手工艺品中使用的重复图案。数学计算需要类似的重复步骤。为了避免为重复步骤复制卡片,Lovelace在她的程序指令中使用了循环、嵌套循环和条件测试。

这些笔记包括有关如何计算伯努利数的说明,洛夫莱斯从她的培训中知道这对数学研究很重要。她的程序表明,分析引擎能够执行尚未手动执行的原始计算。与此同时,洛夫莱斯指出,机器只能遵循指令,而不能“创造任何东西”。

最后,洛夫莱斯认识到,分析引擎处理的数字可以看作是其他类型的符号,例如音符。洛夫莱斯是一位多才多艺的歌手和钢琴家,她熟悉代表音高和持续时间等音乐表演各个方面的乐谱符号,并且她在与德摩根的通信中使用了逻辑符号。意识到分析引擎可以处理符号——而不仅仅是计算数字——甚至可以作曲,这对她来说并不是很大的一步。