0

0

计算机科学巨擘Niklaus Wirth去世,编程界一代教父从Euler到Pascal陨落

王林

王林

发布时间:2024-01-06 09:08:56

|

849人浏览过

|

来源于51CTO.COM

转载

编程祖师爷niklaus wirth于1月1日逝世,享年89岁。 

他是图灵奖得主,被称为有史以来最伟大的程序员之一,编程语言Pascal、Euler、Algol W、Modula、Modula-2、Oberon、Oberon-2、Oberon-07等均出自他手。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

图灵奖得主Niklaus Wirth逝世,从Euler到Pascal,一代编程巨星陨落

他还主导了Lilith和Oberon操作系统的设计与开发,为计算机科学领域写下了十几本著作,其中就包括《算法+数据结构=程序》(1975年)、《编译器构造》(1996年)

与人们对计算机科学家的刻板印象不同,Niklaus Wirth在生活中展现出了极具幽默感和个性。

他常开这样一个玩笑:

在欧洲人们通常用正确的发音“Nick-louse Veert”来称呼他,而在美国,人们总是将其混淆为“Nickel’s Worth”。(也就是说,欧洲人直呼其名,而美国人则称他为价值)

对于了解编程的人来说,他们都知道“按名调用”和“按值调用”是两种不同的参数传递方式。这个双关语被认为是有史以来最好的CS双关语。

Eiffel语言的创造者Bertrand Meyer发文悼念,对他的贡献表示敬意。我们应铭记他在计算机科学领域的杰出成就,并感慨他的离世对整个行业的损失。他的创造将继续影响和推动软件工程的发展,为我们提供了更好的编程工具和方法。让我们怀念他,同时致敬

编程语言、编程方法论、软件工程及硬件设计领域的泰斗,Niklaus Wirth,已于1月1日辞世。我们对这位领域先驱、亲密同事、启蒙导师和挚友的离去深感哀痛。

图灵奖得主Niklaus Wirth逝世,从Euler到Pascal,一代编程巨星陨落

编程界一代传奇

1934年,Niklaus Wirth出生于瑞士北部的一个小镇。

少年时他与数学家Pascal一样热衷于动手实践和思考,尤其喜欢组装飞机模型。

之后,他先后获得苏黎世联邦理工学院电气工程学士学位、加拿大拉瓦尔大学理学硕士学位、加州大学伯克利分校计算机科学博士学位。博士导师是计算机设计先驱Harry Huskey。

图灵奖得主Niklaus Wirth逝世,从Euler到Pascal,一代编程巨星陨落

早期,Wirth因创建两种语言在计算机科学领域声名鹊起:Euler、PL360

Euler是基于他的博士论文工作而开发的通用编程语言,引入了非数值数据类型和运算符优先级等新的概念,被认为是在形式化编程语言设计方面的一次重要尝试。

而PL360系统编程语言,专为IBM System/360系列计算机而设计,采用了特定的解析方法,提供了对硬件的直接控制能力,使得编程更加高效,也更容易编写和维护。

这两种语言都深受早期程序设计语言Algol的影响。

Niklaus Wirth是ALGOL项目团队的精英成员,该团队定义和创建了一系列语言标准,例如FORTRAN等首批高级语言。

上世纪五十年代末,在计算机科学家还没有专门的学术部门和常规会议时,ALGOL项目为这个新兴学科奠定了重要基础。通过ALGOL,Wirth与其他未来的图灵奖得主C.A.R. (Tony) Hoare、Edsger Dijkstra和Peter Naur等展开了深度合作。

Algol 60是ALGOL项目中最重要的成果之一,其中引入了递归函数、结构化代码块和局部变量等概念。

1966年,Wirth提议要把ALGOL下一种语言设计成受Euler语言影响的Algol 60扩展和改进版,但遭到团队投票反对,最终团队选择了复杂度很高的Algol 68提案。

1968年,Niklaus Wirth从团队辞职,与Tony Hoare合作,将被拒绝的提案转变为一种非官方的Algol版本,即Algol-W。

同年,Niklaus Wirth回到了苏黎世联邦理工学院任教,一干就干到了1999年退休。

图灵奖得主Niklaus Wirth逝世,从Euler到Pascal,一代编程巨星陨落

这当中,Niklaus Wirth又以Algol-W为基础,创造了他最有影响力的作品——Pascal语言。

遵循他个人的审美,Pascal保留了Algol的代码结构、逻辑完整性和对递归的支持,但去除了复杂性的内容,因此简单、灵活、能够快速编译高效代码。

Wirth后来写道:

最关键的原则是纳入那些被充分理解的功能,同时排除那些尚未尝试或尚未实现的功能,尤其是对于开发者而言。

1971年,Pascal在苏黎世联邦理工学院教学中得到采用,并迅速在全球其他大学获得推广。

晓象AI资讯阅读神器
晓象AI资讯阅读神器

晓象-AI时代的资讯阅读神器

下载

为适用不同计算机,Wirth还设计了一款新型编译器,既能为虚拟机编写代码,又能生成可在虚拟机上运行的代码。

用这种方法在新计算机上模拟虚拟机,大大简化了编译器的移植过程。随着个人计算机的广泛普及,Pascal非常适应个人计算机有限的内存和存储空间,成为主流编程语言。

而当时的Borland公司推出了经济实惠且运行迅速的Turbo Pascal编译器,进一步巩固了Pascal在上世纪八十年代作为重要的个人计算机高级编程语言的地位。

也造就了当年的Borland传奇。

图灵奖得主Niklaus Wirth逝世,从Euler到Pascal,一代编程巨星陨落

直到现在,Pascal被认为是C语言问世以前最好的编程语言之一,国际信息学奥林匹克竞赛(IOI)还把Pascal语言作为三种程序设计语言之一。

从Euler到Pascal,可以窥见Wirth的一个习惯,他的学术成果或编程语言经常以著名科学家命名,Euler就是为了纪念瑞士著名数学家Euler而命名的,Pascal则是为纪念法国数学家Blaise Pascal而命名。

之后,Wirth与Algol项目的其他资深人士如Edsger Dijksta,对编程方法和形式化方法感兴趣。他参加了IFIP编程方法工作组,提出了逐步完善代码的想法,作为对他们提出的各种“结构化编程”愿景的补充。

之后他又扩展了Pascal,提出了Modula、Modula-2、Oberon等,还主导了Lilith和Oberon操作系统的设计与开发。

除此外,Wirth在其他方面也有许多贡献,如扩充了著名的巴科斯范式,发明了语法图,还写下了《系统程序设计导论》、《算法+数据结构=程序》等众多计算机科学领域的经典著作。

1984年,Niklaus Wirth因“开发了一系列创新的计算机语言”,获得计算机科学最高荣誉图灵奖。

在获奖演讲中,Niklaus Wirth讲道人们必须“及早区分什么是本质的,什么是短暂的”,并确保“短暂的事物永远不会侵犯到核心设施的系统化、结构化设计”。

每一个项目首先都是一个学习实验。通过发明才能学得最好。只有亲自进行开发项目,我才能对固有的困难有足够的了解,对内在的细节有足够的信心,能够掌握它们。

除了图灵奖之外,维尔特还获得了IEEE计算机先驱奖(1988年)、IBM欧洲科学技术奖(1988年)。他还被选为瑞士工程院院士(1992年)、美国国家工程院外籍院士(1994年)

极具幽默感和个性

天才计算机科学家或是软件工程师常常被视为是与世隔绝的“外来者”,Niklaus Wirth却不符合大众的这种刻板印象,他有自己的个性和幽默感。

据网友分享,1968年,Niklaus Wirth好友、计算机科学家Edsger W. Dijkstra向《ACM通讯》(Communications of the ACM)提交了一篇论文,原标题是“A case against the goto statement”(反对goto语句的一个案例)

为加快发表速度,出版编辑将其改为了“给编辑的信”的形式,随后Niklaus Wirth还为其更改了标题为“The goto statement considered harmful”(认为goto语句有害)

随后这个标题被广泛引用,并启发了许多类似的文章标题,如“X considered harmful”,甚至出现了一篇名为“Dijkstra considered harmful”的文章。

图灵奖得主Niklaus Wirth逝世,从Euler到Pascal,一代编程巨星陨落

包括开头提到的Niklaus Wirth常开的那句玩笑,都是他具有独特个人特质的证明。

……

Niklaus Wirth的一生都与编程如影随形。

即便是在80岁生日庆祝研讨会上,Niklaus Wirth还展示了他的新Oberon端口操作系统,运行在一个自制的CPU上,CPU安装在一个随机带有USB外设的FPGA开发板上。

面对Niklaus Wirth的离世,网友们纷纷悼念:

我第一份有报酬的编程工作使用的是Pascal,之后又使用了Modula,这对我后续很多工作产生了深远影响。
我从未有机会见到他,但他对我的职业生涯以及许多其他人都产生了重大影响。

图灵奖得主Niklaus Wirth逝世,从Euler到Pascal,一代编程巨星陨落



热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
C语言变量命名
C语言变量命名

c语言变量名规则是:1、变量名以英文字母开头;2、变量名中的字母是区分大小写的;3、变量名不能是关键字;4、变量名中不能包含空格、标点符号和类型说明符。php中文网还提供c语言变量的相关下载、相关课程等内容,供大家免费下载使用。

401

2023.06.20

c语言入门自学零基础
c语言入门自学零基础

C语言是当代人学习及生活中的必备基础知识,应用十分广泛,本专题为大家c语言入门自学零基础的相关文章,以及相关课程,感兴趣的朋友千万不要错过了。

619

2023.07.25

c语言运算符的优先级顺序
c语言运算符的优先级顺序

c语言运算符的优先级顺序是括号运算符 > 一元运算符 > 算术运算符 > 移位运算符 > 关系运算符 > 位运算符 > 逻辑运算符 > 赋值运算符 > 逗号运算符。本专题为大家提供c语言运算符相关的各种文章、以及下载和课程。

354

2023.08.02

c语言数据结构
c语言数据结构

数据结构是指将数据按照一定的方式组织和存储的方法。它是计算机科学中的重要概念,用来描述和解决实际问题中的数据组织和处理问题。数据结构可以分为线性结构和非线性结构。线性结构包括数组、链表、堆栈和队列等,而非线性结构包括树和图等。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

259

2023.08.09

c语言random函数用法
c语言random函数用法

c语言random函数用法:1、random.random,随机生成(0,1)之间的浮点数;2、random.randint,随机生成在范围之内的整数,两个参数分别表示上限和下限;3、random.randrange,在指定范围内,按指定基数递增的集合中获得一个随机数;4、random.choice,从序列中随机抽选一个数;5、random.shuffle,随机排序。

603

2023.09.05

c语言const用法
c语言const用法

const是关键字,可以用于声明常量、函数参数中的const修饰符、const修饰函数返回值、const修饰指针。详细介绍:1、声明常量,const关键字可用于声明常量,常量的值在程序运行期间不可修改,常量可以是基本数据类型,如整数、浮点数、字符等,也可是自定义的数据类型;2、函数参数中的const修饰符,const关键字可用于函数的参数中,表示该参数在函数内部不可修改等等。

529

2023.09.20

c语言get函数的用法
c语言get函数的用法

get函数是一个用于从输入流中获取字符的函数。可以从键盘、文件或其他输入设备中读取字符,并将其存储在指定的变量中。本文介绍了get函数的用法以及一些相关的注意事项。希望这篇文章能够帮助你更好地理解和使用get函数 。

645

2023.09.20

c数组初始化的方法
c数组初始化的方法

c语言数组初始化的方法有直接赋值法、不完全初始化法、省略数组长度法和二维数组初始化法。详细介绍:1、直接赋值法,这种方法可以直接将数组的值进行初始化;2、不完全初始化法,。这种方法可以在一定程度上节省内存空间;3、省略数组长度法,这种方法可以让编译器自动计算数组的长度;4、二维数组初始化法等等。

603

2023.09.22

Python 自然语言处理(NLP)基础与实战
Python 自然语言处理(NLP)基础与实战

本专题系统讲解 Python 在自然语言处理(NLP)领域的基础方法与实战应用,涵盖文本预处理(分词、去停用词)、词性标注、命名实体识别、关键词提取、情感分析,以及常用 NLP 库(NLTK、spaCy)的核心用法。通过真实文本案例,帮助学习者掌握 使用 Python 进行文本分析与语言数据处理的完整流程,适用于内容分析、舆情监测与智能文本应用场景。

2

2026.01.27

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
CSS3 教程
CSS3 教程

共18课时 | 4.9万人学习

PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.9万人学习

Git 教程
Git 教程

共21课时 | 3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号