大数跨境
0
0

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

欧洲的编程语言三巨头,只剩下一位了! AI零距离
2026-01-08
7


欧洲编程语言三巨头:沃斯、迪杰斯特拉与霍尔

三位图灵奖得主——尼克劳斯·沃斯(Niklaus Wirth)、艾兹赫尔·迪杰斯特拉(Edsger Dijkstra)和托尼·霍尔(Tony Hoare),是结构化编程与现代编程语言发展的奠基者。他们均来自欧洲,学术背景始于工程学,后转向计算机科学;年龄相仿,长期保持密切合作与深厚友谊。

尼克劳斯·沃斯

瑞士计算机科学家,一生设计8种编程语言,以Pascal最为著名。他提出经典公式:“程序 = 数据结构 + 算法”,奠定算法教学范式。1984年因“开发一系列创新性编程语言”获图灵奖。

迪杰斯特拉

荷兰计算机科学家,提出最短路径算法、信号量机制,并倡导结构化编程。1968年发表《Goto语句是有害的》,推动编程范式变革。1972年因“对结构化编程的贡献”获图灵奖。

托尼·霍尔

英国计算机科学家,发明快速排序算法、霍尔逻辑(用于程序正确性验证)及CSP并发模型;同时也引入了空引用(null),后自称为“数十亿美元错误”。1980年因“对编程语言定义与设计的基础性贡献”获图灵奖。

ALGOL 60:现代编程语言的源头

1960年,由Fortran之父约翰·巴克斯、Lisp之父约翰·麦卡锡等顶尖学者在巴黎共同制定ALGOL 60。该语言首次实现与硬件无关的算法表达,引入递归、局部变量、begin-end代码块等关键特性,成为后续绝大多数主流编程语言(如C、Java、Python)的语法蓝本。

迪杰斯特拉高度评价ALGOL 60,称其为“计算机科学成为独立学科的重要时刻”。仅7个月后,他在荷兰实现了首个ALGOL 60编译器,并首次系统性引入栈(Stack)支持递归执行。

霍尔参加ALGOL 60培训班后,在公司机器上高效实现该语言,成果受到国际关注,随后加入IFIP工作组,参与ALGOL维护与发展。

Pascal的诞生与普及

从ALGOL W到Pascal

1966年,沃斯与霍尔提交ALGOL改进提案遭拒。二人退出ALGOL小组,独立开发ALGOL W——霍尔在此语言中首次引入null引用。1970年,沃斯进一步优化ALGOL W,发布Pascal语言。

为提升跨平台可移植性,沃斯设计“中间代码+虚拟机”编译架构。1976年出版《程序=算法+数据结构》,该书以Pascal为教学语言,使这一公式广为人知,深刻影响全球计算机教育。

Turbo Pascal推动普及

Pascal早期主要应用于高校教学。其走向大众,关键在于Philippe Kahn——沃斯在苏黎世联邦理工学院的学生。1982年,Kahn创立Borland公司;1983年推出Turbo Pascal,售价仅49.95美元,编译速度极快,迅速风靡全球。

其编译器由Anders Hejlsberg主导开发,灵感源自沃斯《程序=算法+数据结构》中描述的Tiny Pascal实现。

“Goto语句是有害的”:一场编程范式革命

1968年,迪杰斯特拉向ACM提交论文《A Case Against the Goto Statement》,尖锐指出无序跳转破坏程序结构,主张废除Goto。时任期刊编辑的沃斯将其标题改为更具传播力的《Goto语句是有害的》。

该观点引发巨大争议:高德纳撰文指出特定场景下Goto不可替代;K&R《C程序设计语言》亦肯定其在错误处理与多层循环退出中的实用价值;Linux内核至今保有约10万个goto调用。

但该标题开创了“XXX是有害的”批判范式,深刻影响了软件工程话语体系,延伸至全局变量、MD5、设计方法论等多个技术领域。

尾声:黄金时代的回响

沃斯(2024年1月1日逝世,享年89岁)、迪杰斯特拉(2002年8月6日逝世,享年72岁)与霍尔,构成欧洲编程语言“三巨头”。他们的工作塑造了结构化编程思想,奠定了现代软件开发基石。

与此同时,挪威的奥勒-约翰·达尔(Ole-Johan Dahl)与克里斯汀·奈加德(Kristen Nygaard)发明面向对象语言Simula,亦于2002年相继离世。

上世纪六七十年代,正是编程语言概念密集诞生的黄金时代。今日我们习以为常的语言特性——类型系统、内存管理、并发模型、抽象机制——大多已在彼时确立。先驱渐行渐远,而他们留下的思想遗产,仍在每一行代码中持续运行。

【声明】内容源于网络
0
0
AI零距离
AI零距离
内容 3079
粉丝 0
AI零距离 AI零距离
总阅读50.4k
粉丝0
内容3.1k