编程史上的三位传奇女性,她们分别是:
– 历史上第一位给计算机写程序的人-阿达·洛芙莱斯
– 世界上第一台大型数字计算机的第三名程序员-葛丽丝·穆雷·霍普
– 负责阿波罗11 的MIT 仪器实验室软件工程部主管-玛格丽特·希菲尔德·汉密尔顿。
今天是国际劳动妇女节,是为庆祝女性在经济、政治和 会等领域做出的重要贡献和取得的成就而设立的节日。茶馆特地做了本次专题,跟园友们共同了解编程史上的三位传奇女性。
01
阿达·洛芙莱斯
奥古斯塔·阿达·金·勒芙蕾丝伯爵夫人(Augusta Ada King, Countess of Lovelace,1815年12月10日-1852年11月27日)
著名英国诗人拜伦之女,数学家。计算机程序创始人,建立了循环和子程序概念。为计算程序拟定“算法”,写作的第一份“程序设计流程图”,被珍视为“第一位给计算机写程序的人”。
为了纪念阿达·奥古斯塔对现代电脑与软件工程所产生的重大影响,美国国防部将耗费巨资、历时近20年研制成功的高级程序语言命名为Ada语言,它被公认为是第四代计算机语言的主要代表。
1834年,英国数学家、发明家兼机械工程师查尔斯·巴贝奇(Charles Babbage)发明了一台分析机试验品。在其举办的沙龙上邀请了各界朋友观摩,阿达·洛芙莱斯和母亲也前往参观,尽管此时的阿达年纪轻轻,但看完后却能懂得它的运行原理,也正是这次活动阿达认识了巴贝奇。
而后阿达还成为了巴贝奇建造分析机的助手,并给他的这项发明创造带来了许多灵感和帮助。
1834年他开始设计分析机。1840年夏,撒丁王国首都——都灵正在举办一个数学家和工程师的会议。巴贝奇带着他的分析机图纸也参加了会议,会上他向大家介绍了他的分析机。
有位叫路易吉·梅纳布雷亚的年轻数学家认为这是很了不起的发明,于是他为了将巴贝奇的分析机介绍给欧洲学界更多的人认识,特意撰写了一份名叫《分析机概论》的科学论文。
后来这份论文传到了阿达·洛芙莱斯手上,于是她就着手开始将其翻译成英文,此外她还对论文进行了详尽的注释,注释以字母A到G注记,长度将近原论文的三倍。
按照阿达·洛芙莱斯这些注释的说法,这台机器不仅仅执行计算,它还执行运算(operations),即“任何改变了两种或多种事物之间相互关系的过程”,因而“这是一个最普遍的定义,涵盖了宇宙间的一切主题”。比如今后这台机器有可能被用来创作复杂的音乐、制图和在科学研究中运用,在当时能有这样的预见,可谓十分难得。
阿达为关于巴贝其引擎写了详细的描述,还有每步的指导,告诉人们如何计算伯努利数,以便用于巴克其的分析引擎。而这些注释给出了一个比巴贝奇以往提出的还要更具普遍性、前瞻性的未来设想。巴贝奇非常认可阿达的贡献,称她是“数字女王”。
她的笔记里包含了一种机器算法,这种算法被认为是世界上第一个计算机程序。
巴贝奇分析机后来被认为是最早期的计算机雏形,而阿达的算法则被认为是最早的计算机程序和软件。
可惜的是,巴贝奇分析机并没有在她有生之年成为现实。而她的第一部算法,也淹没在历史的大潮当中。
阿达的笔记对于整个计算机史有着很重大的意义。于是她被公认为世界上第一个程序员。但厉害之处还在于,阿达很有远见:她明白,数字不仅仅能代表数量,一台能操作数字的机器,可以处理任何能用数字代表的信息数据。
她的血统和贵族地位,本身就让“洛芙莱斯”名载史册;但她对数学界的贡献,使她不仅成为计算机的先锋,而且成为科学界女性的先锋。
她死后一百年,于1953年,阿达之前对巴贝奇的《分析机概论》所留下的笔记被重新公布,并被公认对现代计算机与软件工程造成了重大影响。
在1980年12月10日,美国国防部制作了一个新的高级计算机编程语言——Ada,以纪念阿达·洛芙莱斯。Ada被誉为第四代计算机语言的最成功代表。
02
葛丽丝·穆雷·霍普
(Grace Murray Hopper,1906年12月9日-1992年1月1日)
生于美国纽约州纽约市,美国海军将军及计算机科学家。
她创造了现代第一个编译器A-0 系统,以及商用电脑编程语言“COBOL”,被誉为COBOL之母。
1928年她获得美国优等生的荣誉。同年,取得数学物理学士学位,留校担任了教师,被聘为韦莎学院的副教授。利用所获得的奖学金,霍波再次考进著名的耶鲁大学深造。
1930年,她获得耶鲁大学数学硕士学位;1934年成为耶鲁大学历史上第一位女数学博士。 1943年,进入海军学校学习,并以第一名的成绩毕业。
刚佩上海军中尉肩章,便被任命为著名计算机专家霍德·艾肯(H.Aiken)博士的助手,参与Mark Ⅰ计算机的研制。主要任务是编写程序,她为MarkⅠ,以及后续机器MarkⅡ、Mark Ⅲ编写出大量软件。
她后来回忆说:“我成了世界上第一台大型数字计算机的第三名程序员。”
1946年,她在发生故障的MarkⅡ计算机的继电器触点里,找到了一只被夹扁的小飞蛾,正是这只小虫子“卡”住了机器的运行。
Hopper顺手将飞蛾夹在工作笔记里,并诙谐地把程序故障称为“bug”。
bug的意思是“臭虫”,而这一奇怪的称呼,后来演变成计算机行业的专业术语。
1949年,她加盟第一台电子计算机ENIAC发明人莫契利和埃克特创办的公司,为世界上第一台储存程序的商业电脑UNIVAC编写了许多软件,开始第一次使用所谓“简短指令代码“。
1952年,在斯佩里·兰德公司兼任系统工程师,她率先研制出世界上第一个编译程序A-O,能够将类似英语的符 代码转换成计算机能够识别的机器指令,并发表了第一篇关于编译器的论文。
到了50年代中期,她又开发出Flow-Matic语言,为COBOL高级语言诞生创造了基础。
1959年5月,在五角大楼支持下,她领导着一个工作委员会,成功地研制出第一个商用编程语言COBOL。
1963年,美国国家标准局将它进行了标准化。用COBOL写作的软件,要比其他语言多得多,Hoppe博士也因此被誉为计算机语言领域的先驱人物。
1980年,Hopper获得国际IEEE组织颁发的首届计算机先驱奖。
1985年11月,Hopper升为海军将军,是美国第一个到达这个官阶的女性。1991年,布什总统在白宫授予Hopper”全美技术奖”,这也是至今美国女性唯一获此殊荣的人。
1992年1月辞世,按照海军最高荣誉葬于阿灵顿国家公墓。
03
玛格丽特·希菲尔德·汉密尔顿
(Margaret Heafield Hamilton,1936年)美国计算机科学家,系统工程师和企业家.
曾担任 MIT 仪器实验室软件工程部的主管,帮助该实验室开发阿波罗计划中航天器搭载的飞行软件。
其编写的程序都以最大程度防止崩溃为目的,从而防止了阿波罗 11 登月计划中缀。软件工程师”这个术语正是由这位女性发明。
2003年,获得美国国家航空航天局特殊空间法科学和技术贡献奖。该奖项包括37,200美元,是NASA历史上任何个人的最大奖金。
2016年,她获得了奥巴马总统自由荣誉,是美国最高的民事荣誉。
图为玛格丽特站在阿波罗计算机指导手册(AGC)的源代码程序列表旁边
图为玛格丽特(最左)和同事们在MIT筹备阿波罗8的任务
原文链接:
https://www.cnblogs.com/storytelling/p/6519897.html
印度小伙写了套深度学习教程,Github上星标已经5000+
Google 都在用的人体工学腰垫,有什么久坐不累的秘密?
100 行 Python代码,轻松实现贪吃蛇小游戏
上百个数据文件合并,只能手动复制粘贴?教你一招十秒搞定!
一个提升图像识别准确率的精妙技巧
一文读懂:从 Python 打包到 CLI 工具
如何使用 Python 进行时间序列预测?
十分钟搭建私有 Jupyter Notebook 服务器
使用 Python 制作属于自己的 PDF 电子书
12步轻松搞定Python装饰器
200 行代码实现 2048 游戏
你有什么想对身边的女程序员同事说的话?
欢迎留言和我们分享
如果觉得文章对你有所帮助,欢迎点赞并且推荐给你的好友。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!