历史上的今天12月10日:世界上第一位程序员诞生;ada语言发布;第一人称射击游戏的开拓者

历史上的今天 历史上的今天     2023-02-24     227

关键词:

整理 | 王启隆

透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。

今天是 2021 年 12 月 10 日,在 120 年前的今天,瑞典国王和挪威诺贝尔基金会首次颁发了诺贝尔奖。根据诺贝尔的遗嘱:“诺贝尔奖每年发给那些在过去的一年里,在物理、化学、医学、文学及和平事业方面为人类作出最大贡献者。”回顾计算机历史上的 12 月 10 日,这一天还诞生了哪些伟大的贡献者呢?

1815 年 12 月 10 日:世界上第一位程序员 Ada Lovelace 诞生

奥古斯塔·埃达·金·诺尔(Augusta Ada King-Noel, Countess of Lovelace)出生于 1815 年 12 月 10 日;她原姓拜伦(Byron),嫁给洛夫莱斯伯爵后改姓洛夫莱斯,是一位英国数学家兼作家,代表作是她为查尔斯·巴贝奇的分析机所写的作品。她是世界上第一位主张计算机不只可以用来算数的人,也发表了第一段分析机用的算法;因此,埃达被公认为史上第一位认识电脑完全潜能的人,也是史上最早的程序员之一。

图源:维基百科

埃达是知名英国诗人拜伦的唯一婚生子女,在她满月时父母离异,从此父女再未相见;拜伦在诗中称埃达为“我屋檐下、我心中唯一的女儿”。埃达八岁时,拜伦在希腊独立战争中病死,埃达的母亲始终痛恨拜伦,致力栽培埃达的数学逻辑兴趣,以免埃达陷入她眼中拜伦的疯狂下场。但埃达终究很惦记父亲,过世时要求葬在父亲墓旁。借着她优越的家庭与教育环境,她认识了当时许多的科学家名流,如安德鲁·克罗斯、查尔斯·巴贝奇、大卫·布儒斯特爵士、查尔斯·惠斯通、麦可·法拉第和作家狄更斯,埃达自称是在从事“诗意科学”。

十几岁时,凭借自己的数学天分,埃达认识了后世誉为“电脑之父”的英国数学家查尔斯·巴贝奇,展开了一段长期亦师亦友的工作关系,更迷上了巴贝奇的分析机项目。在 1842 到 1843 年间,埃达翻译了一篇意大利军事工程师费德里科·路易吉阐述分析机的文章,其中附带了详尽的笔记。埃达的笔记里,包含了许多人公认的史上第一段计算机程序:一段分析机用的算法;不过,也有历史学家不同意,指出巴贝奇 1836 至 1837 年的私人笔记中,已经有了更早的分析机程序,师徒俩究竟谁才是“世界上第一个程序员”,其实已经没那么重要了。

埃达的笔记对早期电脑发展史非常重要。当巴贝奇等同时代学者,只着眼于电脑的数学运算力时,埃达已经预见了电脑广泛应用的未来;她在笔记中以她的“诗意科学”来研究分析机,探索个人和社会,如何透过科技协同工作。1852 年 11 月 27 日,埃达因病逝世,年仅 36 岁。她对计算机科学的影响极其深远,在 1980 年 的今天,美国国防部以她的出生年份设立了一个编号 MIL-STD-1815,并制作了一个新的计算机编程语言,也就是后文将要介绍的 Ada 语言。

资料来源:维基百科、百度百科

1928 年 12 月 10 日:Multics 和 Unix 的参与设计者 Joe Ossanna 出生

图源:维基百科

Joseph Frank Ossanna 出生于 1928 年 12 月 10 日,他是一位计算机科学家,曾服务于贝尔实验室,既参与过 Multics 操作系统的软件架构设计,也曾参与 Unix 的早期研发。Joe Ossanna 加入贝尔实验室之后,最早从事低噪音放大器、负反馈放大器的设计,卫星天线视角设计,电波行动散射理论以及统计资料处理等研究。随后,他于 1964 年加入 Multics 的研发,参与软件设计工作;直到 1967 年,贝尔实验室决定退出 Multics 项目

11 月 3 日的专栏里,我们介绍了 Unix 的诞生,而 Unix 的前身其实便是贝尔实验室退出的 Multics 项目。在学习如何为 PDP-7 计算机编程之后,肯·汤普森、丹尼斯·里奇、乔·奥萨纳和路德·卡纳迪开始为 Unics 系统的雏形编程;而这个 Unics 便是后来的 Unix 系统。

当时,在编写完文件系统和一套基本的实用程序、汇编程序之后,Unix 操作系统的核心就建立起来了。随后团队得到了一台 Graphic Systems 的 CAT 照相排字机,用于为出版和专利申请制作专业文章的相机准备拷贝;Joe Ossanna 便是为这台机器写驱动程序的人,并在两年后用 C 语言重新编写了代码。1977 年 11 月 28 日,Joe Ossanna 因心脏病在家中逝世。

资料来源:维基百科

1980 年 12 月 10 日:Ada 语言发布

1980 年 12 月 10 日,为了集成美军系统运行的上百种语言,提高调试效率,美国国防部决定开发一种新的通用编程语言,命名为 Ada,以纪念 Ada Lovelace。Ada 由 Pascal 及其他语言扩展而来,接近自然语言和数学表达式;其最早针对嵌入式和实时计算设计,至今依然在这些领域广泛使用。1983 年 4 月 11 日,Ada / Ed 翻译器首次执行 Ada 语言验证成功。

图源:CSDN 下载自东方 IC

在 1970 年代,美国国防部所属的嵌入式计算机系统项目中使用的编程语言数量逐日增多,其中的很多语言十分陈旧或者依赖于硬件,而且没有一个支持安全的模块化编程,对此,美国国防部感到十分担心。基于这个原因,美国国防部在 1975 年成立了高级语言工作组(HOLWG),它的使命是就是寻找或者创造某种适合国防部需要的编程语言,以便减少现有编程语言数量,而该小组最终的工作成果就是 Ada 语言;由此,类似项目中使用的高级编程语言的数量大大减少了,1983 年的 450 种编程语言,到 1996 年只剩下 37 种。

Ada 语言由于其诞生原因,一直作为军用语言在历史舞台活跃,尤其是在大型嵌入式系统得到广泛应用;而它作为和 Pascal 同源的编程语言,以其安全性高,结构严谨,而倍受大型程序系统设计者青睐。Ada 语言没得到推广也是因为其编译器最初需要美国国防部的认证,所以缺少商业化的竞争;不过正因此,诸如知名的波音 777 飞机便由 Ada 语言驱动,而据称我国的 J-10 所用的数字式四余度线传飞行控制系统软件也是用 Ada 编写的。你还知道哪些隐秘的编程语言?欢迎在评论区进行分享。

资料来源:维基百科

1993 年 12 月 10 日:第一人称射击游戏的开拓者《Doom》问世

《Doom》是游戏公司 id Software 于 1993 年 12 月 10 日在 DOS 系统下推出的一款具有里程碑意义的第一人称射击游戏(FPS),中文译名为《毁灭战士》。这个系列的核心制作者是约翰·卡马克(John Carmack)和程序员约翰·罗梅洛(John Romero)

《毁灭战士》作为射击游戏乃至全游戏界的开拓者,在多个领域开创先河并获得广泛认同,比如它使用了包围游戏角色的 3D 环境绘图、多人游戏支持,并且能让玩家自由创建扩展游戏内容的 WAD 架构;在当时,《毁灭战士》利用共享软件的方式传播,在两年内达成约一千万次的下载,使游戏的模式通俗化,并且产生了一股游戏的次文化;由于它对游戏工业的冲击之大,在 90 年代中期以后激增的第一人称射击游戏,通常被称为“类 DOOM(Doom-like)”游戏。

图源:维基百科

在 1993 年元旦,id Software 发布了一则新闻稿,其中他们写道,他们认为《毁灭战士》将会是造成全世界事业生产力下降的最主要原因;没想到一语成谶,《毁灭战士》在发布后真的成为了工作场所的大问题,不但占去了员工工作的时间,并且由于联机游戏而阻塞了网络的流量。英特尔、Lotus Development 和卡内基美隆大学曾经下达了在工作时间内不得玩《毁灭战士》的政策,而在微软公司内部,《毁灭战士》几乎成为了一种宗教性的现象。

在 1995 年后期,《毁灭战士》被安装的数量甚至超过了微软当时的全新操作系统 Windows 95,这让比尔盖兹曾经考虑过是否要买下 id Software,并且开发 Windows 95 版本的《毁灭战士》来促进销售量;甚至在 Office Excel 95 中也有复活节彩蛋,内容是《毁灭战士》的隐藏关卡,关卡的内容是程序员的照片等等。据推测,也许是微软的工程师们对于《毁灭战士》在 Windows 95 上运行的研究而使得他们能够在试算表程序内放置这个彩蛋小程序。

从技术层面上,《毁灭战士》在当时没有实现真正的“3D”,在数学上游戏画面仍然呈现平面,只是随后加上的高度参数让游戏引擎来产生高度差异;这给了《毁灭战士》设计上有一些限制,例如游戏中并没有楼层的体现,因为不可能使一个房间之上还有另一个房间。不过,真正的“3D”和电脑世界中的第一个近乎真正的“圆”其实最终也被 id Software 这家公司实现,而这段故事被记录在 8 月 20 日的专栏之中。

【欢迎投稿】以史为镜,可以知兴替。计算机科学发展至今,有许多至关重要的事件、人物,欢迎所有朋友一起共建「历史上的今天」,投稿邮箱:tangxy@csdn.net 。

历史上的今天12月3日:世界上第一条短信;fortran语言之父诞生;百度贴吧上线

整理|王启隆透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。今天是2021年12月3日,在20年前的今天,电动平衡车(Segway)问世;电动平衡车是一种电力驱动、具有自我平衡能力的个人用... 查看详情

历史上的今天9月1日:pascal语言诞生;世界上首批大规模生产的个人电脑出现;世界上第一家网吧开业

整理|王启隆透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。今天是2021年9月1日,秋高气爽,对于学生而言,开学季正式到来。在科技历史上,9月1日作为新的一月的伊始,发生了许多... 查看详情

第一位计算机科学博士诞生|历史上的今天(代码片段)

整理|王启隆透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。今天是2023年2月9日,在中国,今天是道家学派创始人老子的诞辰和清代著名女词人顾太清的生日;在日本,写出《我是猫》的... 查看详情

第一位计算机科学博士诞生|历史上的今天(代码片段)

整理|王启隆透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。今天是2023年2月9日,在中国,今天是道家学派创始人老子的诞辰和清代著名女词人顾太清的生日;在日本,写出《我是猫》的... 查看详情

历史上的今天12月22日:世界上第一封电子邮件发出;我国研制亿次计算机;第一台可编程计算机的发明者出生

整理|王启隆透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。今天是2021年12月22日,在1900年的今天,第一辆奔驰汽车诞生。梅赛德斯-奔驰,德国汽车品牌,被认为是世界上最高档汽车品牌... 查看详情

世界上第一个bbs诞生|历史上的今天(代码片段)

整理|王启隆透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。今天是2023年2月16日,在1914年的今天,世界第一条空中航线——美国洛杉矶到旧金山航线开通。洛杉矶位于美国西岸加州南部的城市... 查看详情

历史上的今天11月17日:世界上第一个鼠标;雅虎女总裁出生;classmates网站建立

整理|王启隆透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。今天是2021年11月17日,在1989年的今天,国内第一台小巨型电子计算机——NS1000小巨型机,由北京信通集团和北京大学计算机系合作... 查看详情

历史上的今天:支付宝推出条码支付;分时系统之父诞生;世界上第一支电视广告...(代码片段)

整理|王启隆透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。今天是2022年7月1日,在1646年的今天,戈特弗里德·威廉·冯·莱布尼茨(GottfriedWilhelmvonLeibniz)诞辰。莱布尼茨生于德意志莱比... 查看详情

历史上的今天12月5日:分布式系统的“三驾马车”;世界上第一篇计算机科学博士论文;ibm推出“深蓝”计算机

整理|王启隆透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。今天是2021年12月5日,在120年前的今天,娱乐业巨头沃尔特·迪斯尼(WaltDisney)诞生;他所创造的米老鼠形象和迪士尼乐园... 查看详情

历史上的今天11月29日:世界上第一个街机游戏;真空管的发明者诞生;武汉大学建校

整理|王启隆透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。今天是2021年11月29日,在1960年的今天,德国科学家马丁·斯特雷尔和美国科学家罗伯特·伯恩斯·伍德沃德成功合成叶绿素;叶绿素... 查看详情

1946年2月14日世界上第一台计算机诞生

1946年2月14日世界上第一台计算机诞生工作中的ENIAC    1946年2月14日,世界上第一台电脑ENIAC在美国宾夕法尼亚大学诞生。  第二次世界大战期间,美国军方要求宾州大学莫奇来(Mauchly)博士和他的学生爱克特(Ec... 查看详情

历史上的今天10月12日:c语言之父逝世;西门子诞生;乔布斯推出next电脑

整理|王启隆透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。今天是2021年10月12日,历史上的这一天,哥伦布发现了“新大陆”,在他发现的这片美洲上,一个计算机帝国在未来冉冉升起。... 查看详情

历史上的今天10月6日:互联网先驱诞生日;莲花公司宣布上市

整理|王启隆透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。今天是2021年10月6日,1995年的今天,两名瑞士天文学家在佛罗伦萨国际天文会议上宣布,他们在银河系发现一颗行星。这是人们在... 查看详情

历史上的今天8月22日:改变世界的程序员们

整理|王启隆透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。今天是周日,2021年8月22日。历史上的今天,MasatoshiShima出生,他和英特尔(Intel)合作设计的芯片让第一个微处理器Intel4004... 查看详情

历史上的今天10月23日:ipod问世;谷歌推出cse搜索服务;人机交互领域先驱诞生

...天是2021年10月23日,周末将至,CSDN的年度盛会1024程序员节将在长沙开幕,你安排好出行了吗?回顾计算机历史上的10月23日,今天也诞生了许多关键事件,影响着我们手上的工具和技术。1960年10月23日&# 查看详情

历史上的今天10月13日:网景浏览器诞生;eniac首席设计师出生;“龙芯”问世

整理|王启隆透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。今天是2021年10月13日,国际标准时间日。1884年10月13日,在华盛顿召开的国际天文学家代表会议决定,以经过英国伦敦东南格林尼治... 查看详情

历史上的今天8月20日:两位传奇程序员的诞生日!

透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。今天是2021年8月20日,在科技历史上,有两位对着后世软件工程和电子游戏行业影响深远的人诞生,谷歌也在去年发布了Pixel4系列的新成员。1940... 查看详情

历史上的今天8月20日:两位传奇程序员的诞生日!

透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。今天是2021年8月20日,在科技历史上,有两位对着后世软件工程和电子游戏行业影响深远的人诞生,谷歌也在去年发布了Pixel4系列的新成员。1940... 查看详情