网易首页 > 网易号 > 正文 申请入驻

欧洲的编程语言三巨头,最后一位也离开了!

0
分享至

前言:之前我发过一篇文章,叫做《欧洲的编程语言三巨头,只剩下一位了!》,没想到短短的几个月后,最后的一位也去世了......

今天我又把这篇文章修改了一下,增加了一些有趣的故事,纪念一下对编程语言发展有着巨大贡献的三位巨头。

我很好奇,如果他们还在世,看到如今火热的AI编程,会有什么感想?


这三位都是图灵奖获得者,他们的名字和发明散布在各种教科书中,从左到右,依次是:

尼克劳斯·沃斯 (Niklaus Wirth)

瑞士人,一生发明了8种编程语言,其中最著名的是Pascal,提出了著名的“程序=数据结构+算法”,1984年沃斯因开发了一系列创新的计算机语言而获得图灵奖。

迪杰斯特拉(Edsger Dijkstra)

荷兰人,发明了“最短路径算法”,“信号量”,提出了“Goto是有害的”,1972年因对结构化编程的贡献获得图灵奖。

霍尔(Tony Hoare)

英国人,发明了“快速排序算法”,发明了霍尔逻辑来验证程序正确性,提出CSP解决并发过程的交互,发明了null这个引发“数十亿美元”损失的错误,1980年因为对编程语言的定义和设计的基本贡献获得图灵奖。

他们三人都在欧洲,都是从学工程学开始,后来转到了计算机领域。

他们年龄相仿(沃斯和霍尔同岁,比迪杰斯特拉小4岁),共同的兴趣让他们走到一起,不但在暑期活动,学术会议上经常碰面,密切合作,在私下里,也建立了深厚的友谊,经常来回走动,互相拜访。

今天讲几个小故事来聊聊他们的伟大贡献。

计算机科学成为一门学科

在上世纪六七十年代,是编程语言发展的黄金时代。

第一个高级编程语言Fortran已经出现,但是主要应用在工程界,和硬件密切相关。

1960年1月,Fortran之父约翰·巴克斯,Lisp之父约翰·麦卡锡,第一位图灵奖获得者Alan Jay Perlis等一大批顶尖科学家在巴黎聚会,经过一番唇枪舌战的讨论,他们推出了ALGOL 60,这是一种和计算机硬件无关的编程语言,方便算法的描述。

ALGOL 60有很多创新,递归、本地变量、begin end 代码块都是由它率先推出。

现代大多数编程语言的语法,都是类ALGOL的。

从下图中,就可以看到ALGOL的江湖地位,是很多编程语言的老祖宗。


迪杰斯特拉对Algol-60非常欣赏,他不止一次说道,这是计算机科学成为一个学科的重要时刻。

仅仅7个月以后,迪杰斯特拉就在荷兰实现了第一个ALGOL60的编译器,比其他小组早了一年多。

为了实现ALGOL60中的递归,迪杰斯特拉第一次引入了Stack这个概念。

迪杰斯特拉等人还举办了一个ALGOL 60的培训班,来培训的就有霍尔,霍尔刚刚发表了快速排序算法,他上完培训班,也在自己公司机器上实现了ALGOL 60,霍尔的实现效率高,可靠性强,受到国际学术界的关注,进入了IFIP工作组,开始维护和发展ALGOL。

快速排序算法

1959 年,托尼·霍尔还只是一个二十多岁的年轻人,在 Elliott Brothers工作。

当时,他被派到苏联莫斯科的 Moscow State University,参与一个机器翻译项目。

那是冷战时期,但科学合作依然存在。

问题很快出现了。

霍尔需要先对俄语句子中的单词进行排序,然后再在磁带上按字母顺序排列的俄英词典中查找。

但是无论是冒泡排序,还是插入排序,面对大量的词条,都太慢了。

霍尔决定找到一个更快的办法,在一次思考中,一个叫做“分而治之”的思想出现了:

比如你是一个老师,要把一群学生按身高从低到高排队。

但你不想一个一个比较,因为那太慢了,于是你想了一个更聪明的方法。


第一步:选一个人当“参照”

你随便挑一个学生,比如小明,让他站出来。

然后对全班说:

比小明矮的,站左边

比小明高的,站右边

很快,全班就被分成了三部分:

左边(比小明矮的), 小明, 右边(比小明高的)。

这时候小明已经到了正确的位置,不用管他了,接下来只需要从左边那一堆中选个人,例如小红,重复这一过程,然后继续分。

对右边那一堆也选个人,也重复这一过程,继续分。

这样,经过几轮分组后,所有人都会自动排好。

这种算法就是大名鼎鼎的快速排序,时间复杂度仅有O(n log n)。


(快速排序算法,红色就是每次分组所用的“参照”)

回到英国后,他被老板要求编写 Shell 排序算法的代码。霍尔说:“别用Shell排序了,我知道一个更快的算法”。

老板:“怎么可能,打个赌吧,赌注是六便士”。

当然,老板最终输了。

PASCAL的诞生

1966年,霍尔和沃斯一起做了一个提案,希望对ALGOL做出一次改进。但是ALGOL小组认为他们的提案太保守,改动太小,拒绝了。

“一气之下”,沃斯和霍尔退出了ALGOL小组,自己把提案的想了做了实现,即编程语言ALGOL W。

正是在ALGOL W 中,霍尔发明了那个被“无数人诟病”的空引用null。

在2009年的一个软件会议上,霍尔为发明null夸张地道歉:

“我当时正在设计ALGOL W 的类型系统,我忍不住想把null放进去,因为它很容易实现......没想到它导致了无数的错误,系统崩溃......在过去的40年,引发了数十亿美元的损失。”

1970年,沃斯进一步改进了 ALGOL W,成为了大名鼎鼎的Pascal

为了帮助在各种计算机上实现Pascal, 他创建了一种新型的编译器,该编译器不会直接生成机器码,而是生成一种中间的代码形式,在虚拟机上运行。

1976年,沃斯写了一本书介绍基本的数据结构和算法,也捎带着介绍了Pascal语法。

这本书的名称也很神奇,叫做《程序=算法+数据结构》,从此这个公式开始名扬世界。


PASCAL的流行

虽然 Pascal 很快就得到了大学的认可,但它又花了几年时间才成为主流。

这得益于Philippe Kahn,是沃斯在瑞士苏黎世联邦理工学院教学期间的一个学生。


Philippe Kahn看到了沃斯教授在Pascal上的开创性工作,1982年成了一家叫做Borland的公司,从事软件开发工具的开发。

1983年,Borland推出了革命性的集成开发环境,Turbo Pascal ,仅卖49.95美元。


Turbo Pascal 除了价格低廉以外,另外一个杀手锏就是编译速度飞快。

操刀编译器的是丹麦人Anders Hejlsberg,他很大程度上受到了《程序=算法+数据结构》这本书中Tiny Pascal”编译器的启发。

关于Anders Hejlsberg的故事,可以看这篇漫画《》。

Goto是有害的

1968年,迪杰斯特拉向ACM提交了一篇论文,尖锐地批评了当时编程中过度使用Goto语句的情况,以及对结构化编程的拥护,他提议,在高级语言中废除Goto语句!

论文的标题平淡无奇:A Case Against the Goto Statement。

沃斯正好是当时的编辑,他顺手把标题改成了Goto语句是有害的(Goto Statement Considered Harmful)。

如果放在如今的自媒体时代,沃斯绝对是一个擅长抓热点的标题大师。

这个标题就像一个重磅炸弹,很多大牛跳出来,或支持或反对。

高德纳写了一篇叫做《使用 Goto语句进行结构化编程》的文章,分析了一些常见的编程场景,指出一些场景中Goto是最适合的语言结构。

K&R在《C语言编程》中,也指出Goto可以用于函数结束错误处理程序和循环的多级中断。

即使在多年以后,Linus之父Linus Torvalds和《代码大全》的作者Steve McConnell还反对迪杰斯特拉的观点,指出 Goto可以是一种有用的语言功能,可以提高程序速度、大小和代码清晰度。

据统计,2013 年,Linux 内核代码中约有 100,000 个 goto。

“XXX是有害的”成为了计算机的时尚用词,在随后的几十年中不断出现:

“全局变量是有害的”

“Unix风格,或者cat -v 是有害的”

“MD5被认为是有害的”

“以人为本的设计是有害的”

“Java的新特性是有害的”

“‘被认为有害’的文章是有害的”

尾声

沃斯,迪杰斯特拉和霍尔都在欧洲,获得图灵奖都和编程语言有关,可以称为欧洲编程语言的三巨头。

他们都是结构化编程的先驱,他们的工作深刻地影响了我们现在的编程。

2002年8月6日,迪杰斯特拉和癌症斗争多年以后,不幸离世,享年72岁。

2024年1月1日,沃斯去世,享年89岁。

2026年3月5日,霍尔去世,享年92岁。


其实,除了这三位之外,欧洲还有一对编程语言双子星,挪威的Ole-Johan Dahl和Kristen Nygaard ,他们发明了面向对象的语言Simula,两人也都于2002年去世。

我们现在使用的编程语言的概念和特性,差不多都在上世纪六七十年代就已发明,那一批编程语言的先驱,都在逐渐老去。

编程语言的黄金时代,过去了。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
杀疯了!杨幂刘学义16cm神仙身高差火出圈,新剧同框氛围直接封神

杀疯了!杨幂刘学义16cm神仙身高差火出圈,新剧同框氛围直接封神

手工制作阿歼
2026-10-29 17:43:11
一集上头,史上最贵的美剧杀回来了

一集上头,史上最贵的美剧杀回来了

天天美剧吧
2026-10-29 16:42:09
几亿农民工“逆流”返乡,毛主席60年前的判断,今天全应验了!

几亿农民工“逆流”返乡,毛主席60年前的判断,今天全应验了!

秘密即将揭晓
2026-10-29 22:33:00
4-3爆大冷!U17女足创历史,世界杯8强出炉,亚洲占据三席,最大夺冠热门出炉

4-3爆大冷!U17女足创历史,世界杯8强出炉,亚洲占据三席,最大夺冠热门出炉

体育就你秀
2026-10-30 07:44:08
骑士遭老鹰3人20+逆转:哈登3400三分历史第二人 米切尔丢绝平三分

骑士遭老鹰3人20+逆转:哈登3400三分历史第二人 米切尔丢绝平三分

醉卧浮生
2026-10-30 10:31:41
观音持枪射击图:确实是300多年前的文物

观音持枪射击图:确实是300多年前的文物

收藏大视界
2026-09-02 16:07:16
采用掀背式设计 新款本田雅阁假想图曝光

采用掀背式设计 新款本田雅阁假想图曝光

车质网
2026-10-30 09:21:14
松岛爆冷出局,日乒男单团灭,日乒协醒悟:向国乒学习迫在眉睫

松岛爆冷出局,日乒男单团灭,日乒协醒悟:向国乒学习迫在眉睫

老淸医学科普
2026-10-30 10:56:35
不查不知道一查吓一跳!44岁一家人住北京豪宅的陈婷,私下有多壕

不查不知道一查吓一跳!44岁一家人住北京豪宅的陈婷,私下有多壕

冷紫葉
2026-09-19 12:41:16
曝卡里克若最终下课曼联巨头也将被炒!运营大失败,5年买人贬值3.4亿

曝卡里克若最终下课曼联巨头也将被炒!运营大失败,5年买人贬值3.4亿

罗米的曼联博客
2026-10-29 12:42:48
埃托奥:我16岁加盟皇马没人到机场接我,但我不怨恨皇马

埃托奥:我16岁加盟皇马没人到机场接我,但我不怨恨皇马

懂球帝
2026-10-30 05:52:15
被开除党籍的八位开国将军,都是什么原因导致的?

被开除党籍的八位开国将军,都是什么原因导致的?

健康快乐丁
2025-07-12 12:31:34
西甲急赴华修复风波!皇马傲慢成卡点,4亿市场面前一纸声明不够

西甲急赴华修复风波!皇马傲慢成卡点,4亿市场面前一纸声明不够

乒烧泳球
2026-10-30 11:08:56
两性交往:女人最讨厌被男人触摸的5个地方,希望男人能懂

两性交往:女人最讨厌被男人触摸的5个地方,希望男人能懂

荔子言
2026-10-30 11:09:55
一场0-1验出申花退步最快之人,相比巅峰期全面拉胯,莫怪斯卢茨基之前不用他

一场0-1验出申花退步最快之人,相比巅峰期全面拉胯,莫怪斯卢茨基之前不用他

零度眼看球
2026-10-30 06:44:08
班级群上演离婚夫妻对峙大戏!只因一本作业本,爸爸当众怒斥抚养权划清边界,引热议

班级群上演离婚夫妻对峙大戏!只因一本作业本,爸爸当众怒斥抚养权划清边界,引热议

火山詩话
2026-10-28 14:28:02
9分钟两次改判,点球到手竟变门球!U17女足遭遇争议判罚!马晓旭暴怒,17岁门将含泪扑救!中国铿锵玫瑰硬生生把法国踢出8强

9分钟两次改判,点球到手竟变门球!U17女足遭遇争议判罚!马晓旭暴怒,17岁门将含泪扑救!中国铿锵玫瑰硬生生把法国踢出8强

锐评利物浦
2026-10-30 10:11:13
老余怒了?你说你们惹他干啥?

老余怒了?你说你们惹他干啥?

辉哥说动漫
2026-10-29 11:26:32
前皇马球星认为:罗马一战的惊险对决,迫使穆帅重构皇马战术

前皇马球星认为:罗马一战的惊险对决,迫使穆帅重构皇马战术

福酱的小时光
2026-10-30 06:11:39
亚美尼亚:面积仅2.97万km²,却创下数个世界之最,曾是世界中心

亚美尼亚:面积仅2.97万km²,却创下数个世界之最,曾是世界中心

青史卷中人
2026-10-30 03:10:17
2026-10-30 12:07:00
码农翻身 incentive-icons
码农翻身
有趣且硬核的技术文章
327文章数 684关注度
往期回顾 全部

科技要闻

谷歌一天跌没5000亿美元!AI烧钱吓傻华尔街

头条要闻

张雪拉黑自己母亲:消耗自己的人和事会毫不犹豫砍掉

头条要闻

张雪拉黑自己母亲:消耗自己的人和事会毫不犹豫砍掉

体育要闻

超级黑马!球队不败 29岁的他得分榜前三

娱乐要闻

72岁成龙上热搜!手抱甥外孙和蔼

财经要闻

恒大物业新东家,定了

汽车要闻

一年就走的“破例者” 揭开北京现代的治理难题

态度原创

家居
数码
艺术
健康
本地

家居要闻

2026建博会(广州) 公装联探展交流活动

数码要闻

告别物理滑轨!派世推出双传感器鼠标:传感器想放哪放哪

艺术要闻

16位当代画家优秀作品

查不出猝死风险?可能是项目没做对

本地新闻

秋假去哪玩,4 站打卡京郊限定秋色

无障碍浏览 进入关怀版