第一个女程序员的故事
2022-12-11顾静怡
顾静怡
在人们的印象当中,程序员几乎都是男人,埃达·洛夫莱斯却是个例外。她是世界上第一位“码农”,是数字时代的先驱,但她的骨子里透着诗人般的激情。在微软产品里,人们很容易找到这位集幻想和理智、浪漫和严谨于一身的数学才女的全息图标签。
1815 年,埃达出生在英国伦敦。她的父亲是诗人拜伦,母亲是一名业余数学家。埃达从小就天资聪颖,喜欢拉小提琴,还喜欢制作船模,有着极高的数学天赋,曾打算设计以蒸汽机为动力的飞机。母亲为了不让她像诗人父亲一样“疯狂”,竭力鼓励她学习数学。
事实上,埃达对数学也是情有独钟。她学习刻苦、善于观察、敢于质疑,对新知识有着执着的探索精神。18 岁那年,她结识了当时正研制差分机的剑桥大學教授查尔斯·巴贝奇,对差分机产生了浓厚兴趣,经常向他请教差分机的工作原理,请他教授自己更多的数学知识。
1840 年,埃达随巴贝奇到意大利讲学,向人们推广分析机的概念,并由法语翻译成了英语。
1842 年到1843 年,埃达又翻译了某意大利数学家对巴贝奇最新的计算机设计书所留下的备忘录。
在翻译的过程中,埃达遇到了很多困难,却始终没有放弃,她历尽病痛、困苦,熬过寒冬、酷暑,心中的执念和兴趣的驱使,使她坚定地向前走。
她一边翻译,一边以注释笔记的形式加入自己的思考和想法,留下了近原文三倍长的笔记。
其中包含了她提出的循环和子程序的概念,以及她编写的对计算伯努利数的算法,而这段算法也是历史上第一个计算机程序。
她以独有的“诗意科学”思考分析机,研究人和社会如何透过科技协同工作。更难得的是,当所有人对这样一台未做成实体,仅停留在想象和纸面上的机器只着眼于数学运算力时,埃达已经开始了她的编程之旅。她预见到了分析机更广泛的前景,设计了一个过程、一组规则以及一系列运算。
尽管在当时,算法、循环、条件、分支、递归这些与编程概念有关的术语统统还没有被发明出来,但埃达已深刻地理解了这些名词背后的实质。
她创造出了巴贝奇未曾想到的新构想,为计算机程序拟定了“算法”的概念,提出并建立了循环和子程序的概念,戏称“机器咬尾巴——团团转”,并宣称这种有编程和记忆功能的机器具有“无限的可能性”。在1843 年的一篇论文中,埃达还大胆地预言计算机未来将广泛运用于创作音乐、制图和处理复杂的科学研究。谁也没想到,她的这个设想比世界上第一台计算机的诞生整整提前了103 年。由于在程序设计上的开创性工作,埃达成了世界上第一位程序员,被人们称为“数字女巫”。
为了纪念埃达对现代电脑与软件工程所做出的重大贡献,1980 年,美国国防部以她的名字命名和制作了一个新的高级计算机编程语言——Ada。Ada 语言形成了新一派的Ada 文化,成了迄今最复杂、最完备的软件工具,被公认为第四代计算机语言的主要代表。
更让人刮目相看的是,Ada 语言成为美国国防部指定的唯一可用于军用系统开发的语言,英国计算机学会每年都会颁发以埃达命名的软件工程创新大奖。
只因梦想,只为兴趣。埃达把自己天马行空的想象力和对数字的着迷联系在了一起。从对诗歌和数学的热爱中,她看到了计算机背后的魅力所在,成了一位诗人一样的“码农”。
(摘自《传奇故事·百家讲坛》2021 年第11 期,蝌蚪图)