当前位置: 首页 > 科技新闻 >

世界上第一位程序员,竟然是诗人拜伦的女儿?

时间:2020-04-08 14:55来源:网络整理 浏览:
导读:女神节来了,终于忍不住要聊一聊这个憋了很久的八卦,世界上第一位程序员,当然也是世界上第一位女程序员——Ada。来源:华章科技这位女神级

导读:女神节来了,终于忍不住要聊一聊这个憋了很久的八卦,世界上第一位程序员,当然也是世界上第一位女程序员——Ada。

来源:华章科技

这位女神级的神人,全名是洛夫莱斯伯爵夫人奥古斯塔·埃达·金·诺尔(Augusta Ada King-Noel, Countess of Lovelace)。在成为伯爵夫人之前,她原生家庭的姓氏更有名一些——拜伦(Byron)。

世界上第一位程序员,竟然是诗人拜伦的女儿?

▲Ada的画像,大约完成于1840年,这也是当今网络中Ada最常见的形象,作者:Alfred Edward Chalon

01 另类的原生家庭

别怀疑,Ada就是19世纪初期英国伟大的浪漫主义诗人乔治·戈登·拜伦(George Gordon Byron)的亲女儿。

怪不得如今很多程序员都能写出诗意的代码,原来程序员和诗人自古以来就是一家​。

著有《恰尔德·哈罗尔德游记》《唐璜》等佳作的拜伦勋爵,也算是英国文学史上响当当的大佬。你或许读过拜伦的诗,但不知道你有没有读过这一句:

Ada,我屋檐下、我心中唯一的女儿。

拜伦一点没夸张,Ada是拜伦跟他夫人安娜贝拉(Anne Isabella Noel Byron)唯一的孩子。说得更明白一点就是,Ada是拜伦唯一的婚生子女,拜伦的其他孩子都是私生。

Ada这个名字,也是拜伦对女儿昵称。

世界上第一位程序员,竟然是诗人拜伦的女儿?

▲4岁的Ada

Ada出生于1815年12月10日,射手座。她出生前,拜伦夫妇的关系已经紧张。Ada刚满月不久,安娜贝拉被拜伦赶回了娘家,同时也带走了Ada。

此后,拜伦已经跟女儿Ada没有什么实质上的关系,但距离产生了美,Ada一直想念着父亲。

与拜伦分居后,安娜贝拉实际上把女儿交给了自己的母亲,也就是Ada的姥姥来带。安娜贝拉对Ada却有一种另类的关爱——她怕Ada遗传了拜伦的基因,在成长中变得像拜伦一样“道德败坏”,就派出一个闺蜜团去监视Ada。

Ada很讨厌这些监视她的人,认为她们在母亲面前说自己坏话,把她们称为“冤魂”(Furies,原意是复仇女神)。

不过,安娜贝拉的这种另类关爱也为Ada成为世界上第一位程序员埋下了伏笔。安娜贝拉害怕Ada像拜伦那样成为一个“疯狂”的诗人,就创造各种机会让Ada学习数学,培养逻辑和理性思维。

1824年,Ada只有8岁的时候,“疯狂”的拜伦病逝于希腊独立战争的战场上。很有可能的是,Ada直到父亲去世,也不知道父亲的样子,父亲的形象只存在于她的想象中。因为直到她20岁生日时,安娜贝拉才给她看一幅家庭画像,那上面有她父亲。

世界上第一位程序员,竟然是诗人拜伦的女儿?

▲7岁的Ada,作者:Alfred d'Orsay

02 多舛的童年:想飞的数学少女,瘫痪了

Ada的思维方式,似乎是综合了父亲的诗意和数学教育的理性。她想飞,这很疯狂;但她不是想想而已,她真的设计了一对翅膀,这很有数学家的风范。

那是在1828年2月,Ada 12岁,她研究鸟类生理解剖学,分析、计算翅膀和身体的正确比例。她找来各种材料做实验:纸、油布、缆线、羽毛……

她甚至还有后续的步骤和计划:她列举出飞行需要的其他器材设备,比如罗盘;在那个蒸汽时代,她还要把蒸汽整合进她发明的“飞行艺术学”。

但在一年多以后,1829年6月,Ada却因麻疹发作全身瘫痪,在床上休养了将近一年。直到1831年,她才能拄着拐杖走路。Ada从小就常常生病,8岁时就曾因为头痛影响视力。

身体虽然被疾病禁锢,但Ada的大脑从未停止进步。她与她的家庭教师玛丽·萨默维尔(Mary Fairfax Somerville)成为朋友。1833年,萨默维尔把Ada引荐给数学家、发明家查尔斯·巴贝奇(Charles Babbage),这位大佬将是本文下一段的主角。

此后,Ada也跟迈克尔·法拉第(Michael Faraday)、查尔斯·惠斯通(Charles Wheatstone)等英国著名科学家以及小说家查尔斯·狄更斯(Charles Dickens)熟识。1834年起,Ada成为英国王宫宴会中的常客以及万人迷(a popular belle of the season)。

世界上第一位程序员,竟然是诗人拜伦的女儿?

▲1835年,17岁的万人迷Ada

03 “精灵小姐姐”、世界上第一位程序员、计算机时代的先知

上文提到的查尔斯·巴贝奇,很受Ada的尊重,他们在工作中合作了很多年。巴贝奇也很欣赏Ada,称她为“精灵小姐姐”(Lady Fairy)。

世界上第一位程序员,竟然是诗人拜伦的女儿?

▲1836年,21岁的Ada画像,作者:Margaret Sarah Carpenter

成年后的Ada兴趣广泛,包括跟大脑如何思考相关的学科,比如颅相学和催眠术。1844年,在与巴贝奇合作之后,她跟朋友沃伦佐夫·格瑞格(Woronzow Greig)谈到,她有一个想法,她想创建一个数学模型,让这个模型说明大脑是如何产生思想和神经感觉的(“神经系统演算”)。

Ada对大脑的兴趣,源于她怀疑母亲安娜贝拉有一种潜意识里的疯狂。但这项研究未能真正实现。她跟巴贝奇的合作,最令人瞩目的项目是围绕巴贝奇发明的分析机的研究。

世界上第一位程序员,竟然是诗人拜伦的女儿?

▲分析机的复制品,复原项目由Doron Swade领导,图片作者:Carsten Ullrich

分析机是巴贝奇设计的一种机械式通用计算机。巴贝奇关于分析机的工作从1833年,也就是认识Ada的那一年就开始了。

分析机由蒸汽机驱动,使用打孔卡输入,通过一台打印机、一个弯曲的绘图仪和一个铃铛输出,也可以在纸上打孔以便日后读取。分析机的“内存”大约可以存储1000个40位的十进制数,它有一个算术逻辑单元可以进行四则运算、比较和求平方根操作。

从对分析机的这些描述来看,它跟我们现在使用的计算机已经非常相似。关于分析机,意大利数学家路易吉·梅纳布雷亚(Luigi Federico Menabrea)写了一篇论文,1842年,在惠斯通的建议下,Ada承担了这篇论文的翻译工作。

在译文后面,Ada增加了许多注记,按英文字母顺序从A到G。在G中,她详细说明了如何用分析机计算伯努利数。上文说了,我们可以认为分析机就是计算机,那么Ada这个计算伯努利数的方法,也就是一个程序,而且这也是世界上第一个计算机程序。

然后,写下这段程序的Ada,就成为世界上第一位程序员。

世界上第一位程序员,竟然是诗人拜伦的女儿?

▲Ada创作的伯努利数计算图,这就是世界上第一个计算机程序/算法

关于Ada在巴贝奇那里的工作及贡献,以研究巴贝奇而闻名的计算机历史专家、巴贝奇分析机复原项目的领导者Doron Swade,总结了以下4点:

她是一个数学天才她对分析机做出了有影响力的贡献她是第一位计算机程序员她是计算机时代的先知

有人质疑这段程序是不是巴贝奇自己写的,或者是由巴贝奇想出来的。对此,对此,我们可以看看当事人巴贝奇的说法。在他1864年出版的《经过哲学家人生》(Passages from the Life of a Philosopher)一书中,写道:

虽然这些想法是由我们一起讨论出来的,但是最后被写进注记里的想法确确实实是她自己的构想。我将许多代数运算的问题交给她处理,这些工作也与伯努利数的运算相关。在她所送回给我的文档,更修正了我先前在程序里的重大错误。

世界上第一位程序员,竟然是诗人拜伦的女儿?

▲约1840年时的Ada,作者不详

04 后来人的无限怀念

1835年,Ada与威廉·金(William King)结婚,此后威廉·金成为洛夫莱斯(1st Earl of Lovelace),Ada也就成了洛夫莱斯伯爵夫人,就是本文最开头提到的Ada那一长串全名的一部分。

关于Ada的婚姻生活,可供八卦的资料实在不多。她跟洛夫莱斯伯爵有2个儿子1个女儿,前两个孩子的名字分别是“拜伦”和“安娜贝拉”,这显然是Ada的刻意安排,以纪念她的父母。

1852年11月27日,Ada为了治疗宫颈癌,却因此死于失血过多,年仅36岁。依她的遗言,Ada葬于父亲拜伦的身旁。

世界上第一位程序员,竟然是诗人拜伦的女儿?

▲1852年,去世前不久弹钢琴的Ada,作者:Henry Phillips

1953年,Ada去世后101年,她的研究笔记被重新发布。在计算机科学技术改变世界的前夜,人们重新认识了这个世界上第一位计算机程序员。

Ada的形象也陆续出现在小说、动漫、电影及游戏等大众文化中。

世界上第一位程序员,竟然是诗人拜伦的女儿?

▲英国伦敦纪念Ada的蓝色牌匾,作者:Egghead06

1980年,美国国防部上线了一种新的计算机编程语言,并把它命名为Ada。Ada由Pascal及其他语言扩展而成,比较接近自然语言和数学表达式。

最后我们用Ada语言编写的"Hello, World!"程序结束本文:

withAda.Text_IO;

procedureHellois
begin
Ada.Text_IO.Put_Line("Hello,world!");
endHello;

最后的最后,祝古今中外所有的程序媛小姐姐女神节快乐

推荐内容