数字时代的“程序媛”们
2024-12-19孙一扬
如今的互联网行业,可谓是男性程序员的天下,可是百余年前,却是几位“程序媛”在搅动着互联网风云。
世界上首位“程序媛”
看多了现在大大咧咧、不修边幅的程序员,你一定想不到世界历史上首位程序员竟然是一位美娇娥——英国贵族夫人艾达·洛夫莱斯。
艾达·洛夫莱斯是英国著名诗人拜伦的女儿,可惜,拜伦有些重男轻女,他对艾达的出生感到非常失望,艾达刚刚满月,父母就分居了,母亲带着小艾达回了娘家。至此,艾达的至亲唯有母亲一人,直到20岁生日,艾达才从画像中第一次看清父亲的容貌。也许为了证明什么,艾达的母亲对她要求很严格,坚持让她从小开始学习逻辑、科学和数学,女子学习科学知识,这在当时是非常少见的。
艾达没有让母亲失望,她从小就展现出了对科学和科技知识的惊人天赋。1828年,为了实现飞翔的梦想,不满13岁的艾达决定自己造一对翅膀。这个想法初听起来有些疯狂,艾达却有条不紊、深思熟虑地行动起来:她考虑了用各种材料制作翅膀的优劣性,选择最适宜的材料;她研究了鸟类的解剖结构,以确定翅膀和身体之间的正确比例,从而保证制造出可以支撑她“庞大”身躯的翅膀;她还考虑了飞行的动力问题,比如如何将蒸汽机安装到她的翅膀上。
不过,艾达最终没能执行她的飞行计划,因为疾病,她的腿脚行动不便,家人当然不允许她进行这种高危活动。好在艾达在科学和数学上的天赋没有被浪费,1833年,在好友的引荐下,艾达与数学家、发明家查尔斯·巴贝奇结识,二人十分投缘,很快成为好友,展开了一段长期亦师亦友的工作关系。在与巴贝奇相识后,艾达很快就迷上了巴贝奇正在研究的分析机项目。分析机相当于现代计算机的雏形,可在当时,人们只用分析机来进行运算,艾达改变了这一切——她预见到分析机广泛应用的未来,比如可以用来制图和科研。
1842~1843年间,艾达翻译了一篇意大利军事工程师费德里科·路易吉阐述分析机的文章,并加上了详尽的笔记。在笔记中,艾达介绍了如何为巴贝奇的分析机创建代码,用来处理字母、符号和数字,创建了循环和子程序的概念。她的想法是,机器可以将符号与规则相匹配,数字可能不仅仅意味着数量,这标志着从计算到计算机的转变——即将普通的数学符号转变成计算机语言的规则,这些笔记也因此被视为“第一个计算机程序”。
1852年11月27日,年仅36岁的艾达死于宫颈癌。艾达逝世后近百年,人们才正式进入了为计算机编写程序、让其实现更多功能的时代。
为世界“孕育”程序员的女人
为计算机编写程序之所以滞后了这么多年,其中一个原因是计算机语言实在难以被普通人理解。想象一下,一串数学公式、一个数学图形该如何转化成电子电路的“开”和“关”,让这些电路能按人们的指令运行,执行相应的功能呢?直到1951年,这种情况被另一位女科学家改变——她为计算机量身打造了一台“翻译器”。
1906年,格蕾丝·霍珀出生在美国纽约市的一个普通家庭。格蕾斯从小就展露出极为聪明的天赋,对数学、工程技术非常好奇。七岁的时候,她为了弄清楚闹钟是如何工作的,一连拆了家里的七个闹钟。格蕾丝从小成绩优异,1928年毕业于著名的美国瓦萨学院,获得数学和物理学士学位。此后,格蕾丝又在耶鲁大学继续攻读数学,并先后获得硕士和博士学位,毕业后她回到瓦萨学院教授数学。1941年,第二次世界大战爆发,格蕾丝毅然加入到美国海军中,因为她的才能,格蕾丝被任命为著名计算机专家霍德·艾肯的助手,参与世界上第一台计算机Mark I的研制。
当时,计算机用的是普通大众不可阅读的机器编码语言:在一条长长的条带上,分布着间隔不同的一排排孔洞,没有经过专门学习的人,根本无从了解这些孔洞代表什么意思。随着计算需求的扩大,人们对计算机的需求大增,但是“机器语言”成了大多数人不可逾越的门槛,为此,格蕾丝萌发了简化机器语言的想法:制造一个能双向翻译的“翻译器”,它既能将人们的语言转化为机器语言,让编程变得简单,也能让计算机“说人话”。
1949年,格蕾丝成为了一家制造电子计算机ENIAC的公司的高级数学家,她参与一台可以自行编程的计算机的研发工作。为了制造出理想的“翻译器”,格蕾丝自行着手研究,并四处演讲,寻求经费与支持。1952年,格蕾丝开发出了第一套编译器A-0系统,它可以将英语符号转换成计算机能够识别的机器指令。4年后,格蕾丝又开发出了第一个使用类似英文的语句来表达机器指令的编程语言Flow-Matic,为她未来编写更高级的计算机语言奠定了基础。
1959年5月,在美国国防部的支持下,格蕾丝领导着一个工作委员会,成功地研制出第一个商用编程语言COBOL。COBOL语言最重要的特征是语法与英文很接近,可以让不懂电脑的人也能看懂程序;编译器软件只需做少许修改,就能运行于任何类型的电脑。从此,程序员不再需要精通数学才能编写程序,越来越多普通人成为了程序员。
让计算机躺在手心
即使程序员越来越多,直到20世纪70年代末,计算机仍然不是普通人能够接触到的,毕竟第一台商用计算机ENIAC体积庞大到能占满一间屋子,更别提天文数字般的售价了。在当时,这个难题直接影响了英国广播公司(BBC)的计算机科普节目——工作人员没办法在节目里演示计算机,没办法告诉人们计算机有多好用。
为了解决这个问题,BBC决定向计算机公司订购一批微型计算机,经过招标,一家刚成立两年的计算机公司“Acorn”拿到了这个大订单。为了制造这批廉价且性能优良的微型计算机,Acorn决定自主研发一种新型CPU,这个任务交到了公司资深的研发专家索菲·威尔逊手中。
索菲·威尔逊于1957年出生在英国的一个教师家庭,索菲的父母亲有强大的动手能力:家里的东西都是他们自己动手制作的,父亲负责制造汽车、船以及家里的大部分家具,妈妈则缝制了所有衣物、鞋帽等穿戴用品。得益于这种优良传统,索菲也很会制造各类器械:如果想要一台高保真音响或者一个数字钟表,索菲想到的不是购买成品,而是购买各种零件,自己造出来。在英国剑桥大学攻读计算机专业期间,索菲为一家公司研制了一款奶牛自动喂食器,在仪器内置的微处理器的帮助下,喂食器能计算奶牛每天的食量并调节草料数量。
索菲的这一才能被Acorn创始人赫尔曼·豪瑟看中,她刚从剑桥大学毕业就加入了Acorn并很快被委以重任:为BBC制造微型计算机。该如何让计算机变小呢?索菲选择的方法是简化指令集。算术和逻辑是CPU工作的重要组成部分,人类需要一种方法来告诉CPU该做什么,这种方法被称作指令集。通过指令集列表,CPU可以将数据移进或移出内存、进行数学计算、比较数字,并跳转到程序的不同部分。索菲的想法是大幅减少指令的数量,这将简化CPU的内部设计。
通过改变CPU的工作流程,索菲最终设计出了一种新CPU,它被命名为:ARM。1985年4月26日,第一个版本的ARM芯片诞生了,它在BBC的电脑上成功输出了第一条指令:“你好,世界,我是ARM。”这批BBC电脑大获成功,不仅向众多英国人普及了计算机的应用,甚至走进了许多英国家庭。当然,对现在的我们来说,ARM芯片更是鼎鼎大名:它出现在90%以上的掌上电脑和手机中,帮助这些设备变得越来越迷你、越来越廉价,让千千万万的人都用上了这些高科技产品。
计算机行业并不是“男孩俱乐部”,某种程度上说,女性“孕育”了计算机和编程业,这点值得被历史所铭记。
(刘谊人摘自维普资讯网)