谁说女生不适合做程序员?世界上第一个程序员就是女生!

2021-12-14  本文已影响0人  程序员不敲代码

在计算机行业大部分为男性的今天,你绝对想不到世界上第一个程序员其实是个女人。

她活在180年前的英国,用短暂的一生写下了绚丽的科技诗歌。

她是大诗人拜伦唯一的婚生子,师从著名的数理逻辑学家德·摩根,并用短暂的一生写下了绚丽的科技篇章。

她写出的第一个程序,如今的后辈们也不敢随意修改。

她就是埃达·洛芙莱斯(Ada Lovelace)  

埃达·洛芙莱斯是谁?

奥古斯塔·埃达·金·诺尔(Augusta Ada King-Noel, Countess of Lovelace)出生于 1815 年 12 月 10 日;她原姓拜伦(Byron),嫁给洛芙莱斯伯爵后改姓洛芙莱斯,是一位英国数学家兼作家。其代表工作是对查尔斯·巴贝奇分析机研究的整理。

她是第一位主张计算机不只可以用来算数的人,她在笔记中详细说明了用分析机计算伯努利数的方法,这一算法被认为是世界上第一个计算机程序,是史上第一位认识电脑完全潜能的人。因此,埃达也被公认为人类历史上第一位计算机程序员。

今天是她诞辰206周年,所以在这个特殊的日子,就让我们聊一聊这位人类历史上首位程序员的传奇经历。

埃达的成长经历

埃达的父母在她刚刚满月时就已经离婚,她由母亲带大。八岁时,父亲拜伦病逝于希腊独立战争的战场上,很有可能的是,Ada直到父亲去世,也不知道父亲的样子,父亲的形象只存在于她的想象中。因为直到她20岁生日时,安娜贝拉才给她看一幅家庭画像,那上面有她父亲。

由于母亲安娜贝拉热爱数学,也害怕埃达遗传了拜伦的基因,在成长中变得像拜伦一样“道德败坏”,也不想让女儿陷入拜伦式的疯狂,她坚持让女儿从小开始学习逻辑、科学和数学,为埃达成为世界上第一位程序员埋下了伏笔。

事实上,这些学科在当时的年代对于女性无异于禁区,对这些学问感兴趣并愿意钻研的女性也极为罕见。

而借着她的家庭与教育环境,埃达结识了许多知名科学家,如安德鲁·克罗斯、被誉为“电脑之父”的查尔斯·巴贝奇、查尔斯·惠斯通、麦可·法拉第和作家狄更斯,跟着他们进修。

埃达自称是“分析家(兼形而上学家)”,并自称在从事“诗意科学” ,“生来就有点哲学家的气质,并且天生是一个非常卓越的思考者”。

埃达12岁时,开始梦想在天空中翱翔。和大多数人的梦想不同,埃达不止于满足自己的梦想,她深思熟虑,按部就班,希望一步步实现她的梦想项目。

第一步需要制作翅膀,于是她开始计算、分析不同的材质、大小,尝试各种材料:纸、油布、缆线、羽毛等。她研究鸟类生理解剖学,计算双翼和身体的正确比例,甚至有项目把她的研究发现和图表,整理成书《飞行学》。她甚至还有后续的步骤和计划:她列举出飞行需要的其他器材设备,比如罗盘;在那个蒸汽时代,她还要把蒸汽整合进她发明的“飞行艺术学”。

但是一年多以后她因为麻疹发作而全身瘫痪,从而放弃了这个梦想

与巴贝奇的相识

 在17岁时于剑桥大学第一次见到了著名的数学家、发明家兼机械工程师查尔斯·巴贝奇,而这次相遇成了埃达人生的转折点。巴贝奇当时正致力于发明分析机,而埃达则致力于为这台分析机编写算法。

在这个过程中,埃达第一次接触到“差分机”这个概念。埃达日后的在和巴贝奇教授讨论差分机的过程中,预言了通用计算机的可能。

譬如她建议建议二进制数代替原来的十进制数,表明分析机可以接受各种各样的穿孔卡:“控制卡”、“数据卡”、“操作卡”。她还提议数字和其他符号如字母都可以“编码”成数字数据,机器可以处理它们。

甚至早于现代计算机出现200年,提出了分析机的记忆能力的想法,指出分析机应该有存储位置或地址,并且有“注解或备忘”的可能性。阿达曾经预言道:“这个机器未来可以用来排版、编曲或是各种更复杂的用途。”

埃达·洛芙莱斯亲笔书信手稿

根据巴贝奇的设想,差分机可以实现从计算到印刷的过程全部自动化。差分机一号的建造工作启动于1822年,历经十年,据说完成了1/7。当时的英国政府发现这个项目超支严重,一气之下就砍掉了这个项目。

差分机原理和后人根据巴贝奇著作还原的差分机实物

失去了政府的资助后,巴贝奇仍继续工作。他打算设计一台更为复杂的机器——分析机

分析机可以运行包含“条件”“循环”语句的程序,有寄存器用来存储数据,如果实现的话将成为人类第一台计算机。但该项目最终还是以失败告终了。不过凭借这些成果,巴贝奇被后人誉为“计算机之父”(不过历史上被称为“计算机之父”的人还有很多,譬如图灵,冯·诺依曼,阿塔那索夫……)。

关于分析机,意大利数学家路易吉·梅纳布雷亚写了一篇论文,1842年,在惠斯通的建议下,埃达承担了这篇论文的翻译工作。

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

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

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

以研究巴贝奇而闻名的计算机历史专家Doron Swade,在研究了埃达的贡献后,总结了以下4点:

她是一个数学天才

她对分析机做出了有影响力的贡献

她是第一位计算机程序员

她是计算机时代的先知

伟大的人生落下帷幕

之后的埃达染上了酗酒、吸毒、赌马,再加上子宫癌的折磨,她最终在36岁离世,与父亲拜伦同岁。她被安葬在诺丁罕哈克诺的哈克诺圣玛丽亚·抹大拉教堂,与父亲一起长眠。

她去世后一百年,于1953年,埃达之前所留下的笔记被重新公布,并被公认对现代计算机与软件工程造成了重大影响。

在微软的Wins产品里也可以找到埃达的全息图标签。

英国计算机公会每年都颁发以埃达命名的软件工程创新大奖。

在1980年12月10日,美国国防部制作了一个新的高级计算机编程语言——Ada,以纪念埃达·洛芙莱斯。

至此,埃达·洛芙莱斯伟大浪漫的人生生涯落下帷幕。

上一篇下一篇

猜你喜欢

热点阅读