埃达·洛夫莱斯:世界上第一位程序员
英国著名诗人拜伦的女儿埃达·洛夫莱斯从织布机上得到启发,设计了巴贝奇分析机上计算伯努利数的一个程序,被称为世界上第一位程序员。
是的,这位被称为“世界上第一位程序员”的人是一位女性。
那么,这位大诗人的女儿是如何成为了程序员的呢?
1815年12月10日出生的埃达,并没有一个温馨的家庭。在她来到人世30余天后,大诗人父亲和数学家母亲就离婚了,埃达跟随着母亲,此后也再也没有见到过父亲。母亲对“既疯又坏”的父亲深恶痛绝,她不希望女儿埃达遗传父亲的疯狂,母亲相信数学作为一门理性的学科,必须让它在埃达的头脑里牢牢扎根,打好数学基础将为埃达提供稳定的、理智的社会地位,而这也是针对“粗鲁、轻率、自负、搪塞和狂妄的良好解毒剂。”
于是,埃达很小就得到了很多数学方面的教育,由于家庭背景关系,她还有机会在当时英国伦敦的学术圈认识很多学术大牛。在埃达的一生中,受过三位世界级大师的培养:女科学家玛丽·莎沫维勒(Mary Fairfax Greig Somerville,1780-1872);数学家、发明家查尔斯·巴贝奇(Charles Babbage,1791-1871);数理逻辑学家德·摩根(Augustus DeMorgan,1806-1871)。
其中最值得提到的就是英国数学家巴贝奇。
1833年6月5日,在一次聚会上埃达认识了查尔斯·巴贝奇。两周后她和母亲一起拜访了巴贝奇在伦敦的工作室,在那里她看到差分机的演示以及对分析机的设计。埃达立刻为这些机器着迷,这给巴贝奇留下深刻的印象。此后她就与分析机结上了不解之缘。
当时的巴贝奇想要解决的一个问题就是——计算。
那个时候,在商业活动活动和国家管理中,很多复杂的计算工作都只能通过手工的方法来处理,于是有一大批人专门学习算术,然后趴在桌子上写写画画,这样不仅耗费人力,还非常容易出现计算错误。
巴贝奇觉得这种计算工作完全可以交给机器来完成,于是他尝试制造这样一台样机,后来他做出来了能进行五位数的加减运算的机器。接着,巴贝奇决定造一个更大、更实用的计算机器。并且,这一计划得到了当时的英国政府支持,政府向巴贝奇下了订单。
就在巴贝奇决定建造一个庞大计算机器的时候,埃达注意到了,并且也加入了进来。
她开始和巴贝奇反复讨论机器的各种细节,丰富巴贝奇的设计。埃伦突发奇想,觉得提花机上的那个纸带会派上大用处。
雅卡尔改进后的提花机,影响了埃达
提花机的纸带实际上提供了一个输入指令的方式,这个方式的好处是,你可以完整地写好一个指令,然后再一次性输入进去。
这比巴贝奇原来的想法——通过硬件一点点输入指令,要好得多,随后埃达就把他们的想法写成了论文。
正当二人拿着新的想法准备大干一场的时候,传来了坏消息,由于时间拖延太久用掉了太多资金,英国政府终止了合同。
埃达和巴贝奇想做却没来得及做出来的计算机——差分机
埃达和巴贝奇想要建造一台计算机器的想法,最终没有实现,他们也相继去世。
在埃达的一生中,最有代表性的文献,是她翻译一本书时所加的注释。这也是有力奠定她“世界上的第一位程序员”地位的有力佐证。
1842年10月,法国工程师Luigi Federico Menabrea(1809-1896)发表了一篇关于巴贝奇分析机的理论和性能的文章。埃达把它由法文译成英文,而且在其中加入她的许多注释。
关于这个工作,巴贝奇有一段精彩的回忆:
“在日内瓦综合书目上出现Menabrea关于这个机器的实录后,有一天晚上拉夫拉斯伯爵夫人(指埃达)告诉我,她已经把这篇东西由法文翻译成英文。我问她,为什么不就这个题目自己写一篇原创性的论文,你是能够非常亲切地介绍这个机器的。拉夫拉斯伯爵夫人答复道:她的思想还没有形成。然后我建议她在Menabrea的文章上加些注释。这个建议立即被她采纳了。”
“我们一起讨论了必须引入的各种插图,我建议了几个,但是否选择完全由她决定。还有一些不同问题的代数工作,例如有关伯努利数的计算,为了减少她的麻烦,我给出一些计算。结果她寄来一份修订,纠正了我在计算中的一个重大错误。”
“拉夫拉斯伯爵夫人的注释比原文的长度扩展了三倍。她全力以赴,对于和这个题目有关的很困难、很抽象的问题都作了解释。把这两个资料一起提供给读者,就能理解机器的工作原理,并通过完整的示范,了解如何使用分析机去执行分析开发的任务。”
在这些注释中,埃达描述了分析机如何进行编程,最早给出计算机程序设计的许多想法,她还写了一个程序,让分析机生成伯努利数的表。
埃达于1852年11月27日去世,和她的父亲一样享年36岁。
埃达让巴贝奇做她的遗嘱执行人,要求将自己埋在拜伦家族的坟墓(这让她母亲非常失望),紧依着自己的父亲长眠(其父参加过希腊反对土耳其的独立战争,36岁时病故于希腊Missolonghi)。
埃达的母亲做了一块墓碑,刻有埃达作的一首十四行诗,题为“彩虹”(The Rainbow)。
这位“世界第一位程序员”继承了父亲的浪漫精神和母亲的数学天赋,埃达将这两者结合的产物称为“诗意科学”(poetical science),她很喜欢通过这种方式将自己天马行空的想象力和对数字的着迷联系在一起。对于当时的许多人来说,包括她的父亲,浪漫主义时期的细腻感性与工业革命带来的技术狂热是互不相容的,但是埃达却能在这两个时代之间游刃自如。
埃达对诗歌和数学的热爱让她有能力看到计算机器背后的魅力所在。她是浪漫主义科学时代的一位典范,这个时代的发明和探索都带有一种诗意的热情。正如理查德·霍姆斯在《好奇年代》一书中所写,这个时代“为科学工作带来了充满想象力的激情与兴奋,它的动力来自人们不顾一切地投身于探索当中的共同理想”。
参考来源:
图灵社区
《织布机如何成就计算机》(徐来)
Csdn
《创新者:一群技术狂人和鬼才程序员如何改变世界》
- End -
(点击图片即可进入)
推荐阅读
谷歌Play应用商店又现恶意软件 窃取用户的虚拟货币 | 看雪·19
Android系统新漏洞现身:黑客可利用特制的.PNG图片文件执行攻击 | 看雪·19
iOS 12.1.4发布前,谷歌提醒已有黑客利用零日漏洞攻击iPhone用户 | 看雪·19
公众号ID:ikanxue
官方微博:看雪安全
商务合作:wsc@kanxue.com