出品 | 程序人生 (ID:coder _life)
尼古拉斯?威茨(Niklaus Wirth)是瑞士计算机科学家,也是计算机编程领域的祖师爷,他先后参与或独立发明了Euler、PASCAL及Modula等多种编程语言,于1984年被授予图灵奖,他的名言“算法+数据结构=程序”(Algorithm+Data Structures=Programs)在计算机领域几乎人尽皆知。
设计出Algol-W
博士毕业以后,因为在Euler上的成就,威茨得以进入门槛极高的斯坦福大学工作。
与此同时,负责Algol语言完善与扩充的工作小组也看中了威茨,想招他进去工作。威茨进去之后,发现小组分成两派:一派主张设计一个新语言,以便树起一个新的里程碑;另一派则觉得时间太紧,主张对Algol 60进行适当优化。威茨便自称同时属于这两派,并提交了一份建议书。这份建议书经过托尼?霍尔(Tony Hoare)等人的修改和完善以后顺利通过,这就是Algol-W(W是威茨名字的首字母)。
之后,威茨带领学生在一台IBM 360上试着将这份建议书投入实践。但是当时的IBM 360只提供汇编语言和FORTRAN语言,威茨和他的学生都觉得这两者并不适合作为设计编译器的工具。为此,威茨决定设计一种新的语言来编写 Algol-W的编译器。威茨用了两周时间写出这个语言的定义,然后用了4个月的时间在Burroughs公司的Bu5000计算机上完成了交叉编译程序,而威茨的一个学生则把这个交叉编译程序成功移植到了IBM 360。
这些额外的工作虽然耗费了威茨大量的精力和时间,但也加快了Algol-W编译器的开发,同时催生了一个新的语言PL360(PASCAL的前身)。
1966年,Algol-W正式诞生并投入使用。
首次提出结构化程序设计概念
威茨基于自己开发程序设计语言和编程的实践经验,在1971年发表的“通过逐步求精方式开发程序’(Program Development by Stepwise Refinement)一文中,首次提出了“结构化程序设计”(structure programming)的概念。
这个概念简而言之,就是不要求一步就编制成可执行的程序,而是分若干步进行,逐步求精。第一步编出的程序抽象度最高,第二步编出的程序抽象度有所降低,一直到最后一步编出的程序即为可执行的程序。用这种方法编程看似复杂,实际上可以使程序更加地易读、易写、易调试、易维护、易验证。
结构化程序设计方法又称为“自顶向下”或“逐步求精”法,在程序设计领域引发了一场革命,不久便成为程序开发的一个标准方法,尤其是在后来发展起来的软件工程中获得广泛应用。有人评价说威茨的结构化程序设计概念“完全改变了人们对程序设计的思维方式”。
Oberon计划
近年来,威茨开始了一个新的计划——Oberon计划。Oberon是将程序设计语言和操作系统结合在一起的、面向单用户的个人工作站的一个系统。在威茨看来,在因特 日益普及的情况下,今后联 的计算机主要将是个人工作站,因此如何使个人工作站功能更加强大、更加方便使用是一个十分重要的研究方向。
威茨之所以将这个计划取名为“Oberon”,是因为Oberon是希腊神话中的仙境之王和女神Titania的丈夫。威茨的目标是要使Oberon语言超越PASCAL和Modula,使设计出的操作系统和编译器功能更加强大。威茨曾写了两本书向读者推荐Oberon。
痛批时下大学的”重论文轻教学”之风
2002年,威茨在一次公开演讲中,对当下许多大学轻视课程教学的风气毫不留情面地进行了批评讽刺。
他说:“长期以来,大学的教授们大都已不再是充满智慧的饱学之士了。他们不再默默钻研学问,也不再热忱于传道授业解惑,而是做起了‘项目经理’,带领他们的学生,近乎疯狂地申请科研项目,并批量地生产科技论文。在这个高度竞争的 会大环境中,教授的‘业绩’已跟教学毫无瓜葛,反而是跟团队规模、项目经费、发表论文数息息相关。”
威茨尖锐地指出,由此以往,让教授们去教学就无异于催促他们去自杀。
参考链接:
https://baike.baidu.com/item/%E5%B0%BC%E5%8F%A4%E6%8B%89%E6%96%AF%C2%B7%E6%B2%83%E6%96%AF/1095875omtitle=Niklaus%20Wirth&fromid=3047962&fr=aladdin
https://blog.csdn.net/secbok/article/details/21223269
https://baike.baidu.com/item/Pascal/241171=aladdin

文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览35222 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!