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

欧洲的编程语言三巨头,只剩下一位了!

0
分享至

能把三位大牛的名字都叫出来的人恐怕不多吧:


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

尼克劳斯·沃斯 (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。

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岁。

三巨头中,只剩下霍尔一位了。

其实,除了这三位之外,欧洲还有一对编程语言双子星,挪威的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.

相关推荐
热点推荐
男子高铁上要求让座后续!被拒绝后辱骂,年轻人反击,12306回应

男子高铁上要求让座后续!被拒绝后辱骂,年轻人反击,12306回应

鋭娱之乐
2025-11-06 00:45:03
“感谢他?”——阿什拉夫重伤,拜仁球员轻率玩笑惹巴黎愤怒

“感谢他?”——阿什拉夫重伤,拜仁球员轻率玩笑惹巴黎愤怒

星耀国际足坛
2025-11-05 23:07:13
常揉此穴,一辈子远离心梗!没事记得揉一揉

常揉此穴,一辈子远离心梗!没事记得揉一揉

神奇故事
2025-11-04 22:03:24
别再乱吃了!华人常吃的保健品被曝或“助癌生长”!补得太勤反而害了自己...

别再乱吃了!华人常吃的保健品被曝或“助癌生长”!补得太勤反而害了自己...

最英国
2025-11-05 19:05:18
60亿日本动画内地定档,评分8.8,中国观众将助其超越《哪吒2》

60亿日本动画内地定档,评分8.8,中国观众将助其超越《哪吒2》

影视高原说
2025-11-03 18:56:47
王子奇拒吻戏,打了谁的脸?

王子奇拒吻戏,打了谁的脸?

孟一宜
2025-11-05 15:30:38
人民日报专访,揭开32岁周深的真实处境,那英确实一个字都没说错

人民日报专访,揭开32岁周深的真实处境,那英确实一个字都没说错

八斗小先生
2025-11-01 08:46:54
24岁时迪巴拉身价高达1.1亿!但如今仅剩800万,原因真的太扎心!

24岁时迪巴拉身价高达1.1亿!但如今仅剩800万,原因真的太扎心!

田先生篮球
2025-11-04 12:16:13
演员祝新运:凭借潘冬子火遍全国,却娶了离异还大3岁的妻子

演员祝新运:凭借潘冬子火遍全国,却娶了离异还大3岁的妻子

揽星河的笔记
2025-11-05 13:55:47
1979年越南战败后,黎笋要求中国边线北移100公里,杨得志:打!

1979年越南战败后,黎笋要求中国边线北移100公里,杨得志:打!

小影的娱乐
2025-10-24 08:04:06
白百何好友下场了!揭露争奖细节,放话大不了鱼死网破电影不上了

白百何好友下场了!揭露争奖细节,放话大不了鱼死网破电影不上了

萌神木木
2025-11-05 22:10:00
湖北县域高铁站掀起“规模竞赛”,7大站点规格直逼地级市

湖北县域高铁站掀起“规模竞赛”,7大站点规格直逼地级市

观察眼看世界
2025-11-05 19:30:03
稳定币,东方崛起的另一个拦路虎!

稳定币,东方崛起的另一个拦路虎!

犀利辣椒
2025-11-05 23:02:48
挪威历史性暂停主权财富基金道德准则 允许其保留所投美科技巨头股份

挪威历史性暂停主权财富基金道德准则 允许其保留所投美科技巨头股份

财联社
2025-11-05 18:30:06
斯诺克国锦赛:8强落位,11月6日赛程出炉,赵心童、吴宜泽冲4强

斯诺克国锦赛:8强落位,11月6日赛程出炉,赵心童、吴宜泽冲4强

越岭寻踪
2025-11-06 00:57:45
中金大瓜,易晨阳从业资格被取消...

中金大瓜,易晨阳从业资格被取消...

金石随笔
2025-11-06 00:10:31
80岁大妈的明智养老:不雇保姆不去养老院,而是花钱请儿媳养老

80岁大妈的明智养老:不雇保姆不去养老院,而是花钱请儿媳养老

热心柚子姐姐
2025-11-05 08:32:37
迟迟等不到中方供货后,安世荷兰将负100%全责,商务部宣布大结局

迟迟等不到中方供货后,安世荷兰将负100%全责,商务部宣布大结局

青途历史
2025-11-06 00:57:14
山东女子打麻将输钱,自愿与三名牌友发生关系抵债,是否构成犯罪

山东女子打麻将输钱,自愿与三名牌友发生关系抵债,是否构成犯罪

四月十九
2024-09-03 17:10:30
14天11板!000592,又双叒叕提示风险……

14天11板!000592,又双叒叕提示风险……

证券时报e公司
2025-11-05 23:30:54
2025-11-06 09:15:00
码农翻身 incentive-icons
码农翻身
有趣且硬核的技术文章
194文章数 558关注度
往期回顾 全部

科技要闻

苹果“认输”!曝每年10亿美元租用谷歌AI

头条要闻

记者问了欧盟一个“有趣”的问题 然后被解雇了

头条要闻

记者问了欧盟一个“有趣”的问题 然后被解雇了

体育要闻

赢下皇马,会是利物浦的转折点吗?

娱乐要闻

港星林尚武突发心脏病去世

财经要闻

特朗普关税遭美国高院大法官轮番质疑

汽车要闻

智己LS9入局"9系"混战 全尺寸SUV市场迎来新变量

态度原创

教育
本地
健康
公开课
军事航空

教育要闻

83岁还在学英语?ta们告诉你坚持的意义。

本地新闻

这届干饭人,已经把博物馆吃成了食堂

超声探头会加重受伤情况吗?

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

美国“福特”号航母驶往加勒比海

无障碍浏览 进入关怀版