Pascal语言创造者尼克劳斯·维尔特(Niklaus Wirth)去世

尼克劳斯·维尔特(Niklaus Wirth)是编程领域的先驱之一,他于2024年1月1日去世,享年89岁。维尔特是帕斯卡Pascal语言的创造者,同时还为20世纪的编程产生了巨大影响。

Niklaus Emil Wirth in 1969 February 15, 1934 - January 1, 2024
Niklaus Emil Wirth in 1969 February 15, 1934 - January 1, 2024

维尔特于1934年出生,获得苏黎世联邦理工学院电子工程学士学位。后来,他成为该校的信息学教授,并于1968年按照瑞士政府的要求将计算机科学引入该校的课程体系中。

帕斯卡Pascal语言的开发始于1969年,于1972年首次亮相。然而,帕斯卡并不是维尔特创造的第一种计算机语言。他在加利福尼亚大学伯克利分校获得博士学位,论文题为《Algol的一般化》,为后来的欧拉语言奠定了基础。当他提出基于欧拉的改进Algol 60的提案遭到拒绝时,他辞去了Algol工作组的职务。随后,他与托尼·霍尔(Tony Hoare)继续合作,开发了基于Algol-W的帕斯卡语言。

帕斯卡Pascal语言旨在教授良好的编程实践,当时还没有广泛应用面向对象编程。重要的是摆脱汇编语言和Fortran等无结构的混乱代码,转而采用现代化的结构化编程实现。帕斯卡语言首次引入了控制结构,消除了使用跳转语句的需要。尽管如今看来这很常见,但在当时,许多程序员对其过于约束性的特点表示厌恶。事实上,当时还存在一股反对结构化编程的潮流。编程领域已经发展了很长一段时间。

维尔特的下一个语言Modula也面临类似情况。当时的关键词是结构化模块化编程,Modula进一步推动了将代码封装到以受控方式相互交互的模块中。这种思想最终发展成为面向对象编程范式中的封装概念。

帕斯卡Pascal语言在大学计算机科学系中取得了巨大成功,成为主要的教学语言。那是一个黄金时代,因为他们有了一门能够清晰传授知识的语言。与今天各种各样具有缺陷学术背景的语言相比,我们已经走了很长一段路。然而,只有在Borland推出Turbo Pascal之后,帕斯卡才在更广泛的世界中获得成功。Turbo Pascal是一个更强大、实用的编程环境,与最初的版本相比有了很大提升。

在20世纪70年代,维尔特参与了国际计算机联合会(IFIP)的编程方法工作组,并提出了渐进式代码细化的概念,作为该组包括埃兹赫·迪科斯特拉(Edsger Dijksta)和托尼·霍尔在内的成员对“结构化编程”的各种愿景的补充。这一思想在其著作《系统化编程》(1973年)中得到阐述,《算法+数据结构=程序》(1975年)则被视为对编程方法和概念文献做出的最有影响力的贡献之一。

在那个时代,维尔特等人是编程领域的英雄,我们试图将良好的编程规范形式化,而还没有分裂成函数式编程、强类型对象和动态对象之间的敌对派系。那些日子里,我们很容易看出维尔特的观点是正确的。

维尔特于1984年荣获ACM图灵奖,奖项赞扬他:

“因开发一系列创新的计算机语言——EULER、ALGOL-W、MODULA和PASCAL。帕斯卡已成为教学上的重要语言,并为未来的计算机语言、系统和架构研究提供了基础。”

1987年,他因帕斯卡语言而获得IEEE计算机学会的计算机先驱奖,并于2004年成为计算机历史博物馆的会士:

“因对编程语言和算法的开创性工作,包括欧拉、Algol-W、帕斯卡、Modula和Oberon。”

1994年,尼克劳斯·维尔特成为ACM的会士之一,并在2018年接受了埃琳娜·特里奇娜(Elena Trichina)的采访。这次采访揭示了他在漫长的职业生涯中所做的更多工作和贡献。

维尔特以他在编程语言和算法方面的杰出贡献而被人们铭记,他的离世是计算机科学界的巨大损失。通过他的创新和影响力,他在计算机科学的发展中留下了深远的印记。