Pascal之父-Niklaus Wirth

Pascal之父-Niklaus Wirth(尼克劳斯·沃斯)
算法+数据结构=程式:是计算机科学的名句。
Niklaus Wirth是好几种编程语言的主设计师:
Algol W
Modula
Pascal
Modula-2
Oberon
Euler语言的发明者之一。1984年他因发展了这些语言而获图灵奖。
Lilith电脑和Oberon系统的设计和执行队伍的重要成员。
他的文章Program Development by Stepwise Refinement视为软件工程中的经典之作。
他写的一本书的书名Algorithms + Data Structures = Programs(算法+数据结构=程式)是计算机科学的名句。

尼克劳斯·沃斯(Niklaus Wirth)教授,Pascal系列语言之父,世界闻名的计算机科学家。
他是苏黎世联邦理工学院(Swiss Federal Institute of Technology 简称ETH)教授,
因发明了Pascal计算机编程语言(1970年)及其它几种计算机语言而著名。
其中的Oberon语言被苏黎世一家名为Oberon microsystems的IT公司投入商业生产。
Pascal的基本概念对最近开发的各种计算机语言影响巨大,特别是一系列面向对象语言,如Java等。
Wirth教授的Pascal语言影响了几代软件开发人员,并提出计算机界非常有名的“数据结构十算法= 程序”著名公式,
除了发明了多种影响深远的程序设计语言,他还提出“结构化程序设计”这一革命性概念,为新软件技术“结构化编程”的开发做出了贡献。
上个世纪七十年代,Wirth教授利用假期时间在施乐公司(Xerox PARC)的帕洛阿尔托研究中心(Palo Alto Research Center)进行研究;
之后开发了世界最早的个人计算机之一,名为“Lilith”(1978-80)。直到今天,其中一台仍在Wirth教授在苏黎世理工学院的办公室里使用。
Wirth教授曾在苏黎世联邦理工学院授课多年,并出版了许多书籍,其中不少著作被视为计算机领域的经典。
他曾多次因其开拓性成就获奖:
1983年,获 电气和电子工程师协会(IEEE)Emanuel Piore 奖;
1984年,获图灵奖(A. M. Turing prize );
1987年,获美国计算机学会(ACM)计算机科学教育杰出贡献奖;
1989年,获IBM欧洲杰出科学技术奖。
Wirth教授还在很多大学担任名誉教授,从俄罗斯到南非遍布世界各地。

相关链接:
Wirth先生个人主页:http://www.cs.inf.ethz.ch/~wirth/
人物印象:对于Wirth先生,让我们看到的最深的东西是“执着”。
他是瑞士IT界的拓荒者,是建立瑞士包括ETH的IT教育的先驱。是使瑞士IT扬名世界的最著名人物。
关于Niklaus Wirth先生,要写的远不止这些。要想深入地了解他,确实不是一件容易的事情。
关于IT,他有许多影响深远的名言,我们引用的,仅仅是其中为数不多的几条,而这正是他执着思想的一种体现。
Wirth先生是一个执着地坚持自己思想的人。
关于学术,关于计算机、关于计算机语言,他有自己独到的见解和声音。
C++之父Bjarne 笑着说:他的态度没有因为年龄的增大而有丝毫减弱。而这正是他的价值的侧面体现。
难怪在程序员中有一句经典笑话:欧洲人通常都将他的名字读得正确,读作“Nih-klaus Virt”;
但美国人通常读成“Nickles Worth”近似的音。
于是有人便说,欧洲人传址呼叫他,美国人传值呼叫他(或者说美国人按价值称呼他,而欧洲人称呼他的名字)。


引言:“Everything is software, but software is not everything.”
一切都可以是软件,但软件并不是一切。
Wirth的一生,是执着地追求技术的一生,每一个阶段,都有他的执着和独特的思考。生于瑞士,求学美洲,立业瑞士。
瑞士是Wirth的故乡,也是他天真烂漫童年渡过的地方。
1934年2月,Wirth生于瑞士北部离苏黎世不远的温特图尔(Winterthur),Wirth小时就喜欢动手动脑,组装飞机模型是他的最大爱好。
他父亲是高中地理学教师,有一个小书房,作为家中唯一的孩子,父亲的书房成了他发现灵感的地方,这里有许多技术书籍,
从这些书中,他发现了涡轮、蒸汽机、火车头和电报的构造说明,这些问题令他着迷。
但是这些理论并没有使他满足,他想知晓生活中这一切东西是怎样运作的,怎么办呢?自己动手做。
作为飞机模型迷,他和朋友们建造了自己的飞机,数量还相当可观,足有几十只,最大的一个机翼跨度足有三米半。
在高中时,他还是一个化学迷,在家中地下室里建立了一个实验室,以用来实验在学校里学到的东西。
象其他的孩子一样,他童年时也有一些有意思的小故事。
有一次,他和朋友做了一个火箭模型,在实验时,由于没有将硝石、硫磺和木炭等混合物压缩好,结果使火箭没有到达预定轨道,
更为不幸的是,火箭落到了校长的脚下,当时校长正好溜达到学校的角落里,好处是校长比较和蔼,他们并没有得到纪律处分。
也许正是从那时起,燃起了他的技术梦,在他的职业生涯中他走出了一条自己的路。
中学毕业以后,Wirth进入在欧洲甚至全世界都很有名气的苏黎世工学院(ETH),获得电子工程学士学位后,
他于1959年离开了瑞士,远渡重洋来到加拿大,在加拿大的莱维大学(Laval University)深造,于1960年取得硕士学位。
之后他再次迁移,来到美国加利福尼亚,进入世界闻名的加州大学伯克利分校,于1963年获得博士学位。
并且后来成了斯坦福大学的助理教授。
在加拿大两年,美国八年后,1968年,Wirth 一家重回到了瑞士,等着他的是承建ETH计算机科学部门的重任。
计算机科学及计算机科学教育成了他一生不解的缘
在ETH工作32年后,1999年3 月他正式退休,而ETH的计算机科学大厦业已建立。

问答FAQ?
问: 您的生活是怎样和计算机联系在一起的呢?
答: 当时我对于一些计算机问题着迷,可能是因为它新奇而神秘,而且没有人教授。
1959年,当我完成了在ETH的课程后,我首先移居到加拿大,一年后到了美国加利福尼亚州。
在加拿大,我取得了硕士学位并设计了一台模拟计算机。
在伯克利,我参加了一个小组——多少有些偶然的成分在其中——为一种程序设计语言的编译器而工作,那是Algol58的一种派生语言。
这个编译器非常复杂,如何让它有条理又易于理解使我着迷。
就这样我开始了在设计程序语言方面工作,有关于编译器方面的,也有句法构造分析方面的。
这些工作在那时都是全新的、从没有人了解过的课题。
我于1963年获得博士学位,论文正是对此问题的讨论:名称是《一般性Algol语言》,授予单位是加州大学伯克利分校电机工程系。

问: 您觉得怎样才是一种好的学编程的方式呢?一种编程工具是不是必要的?
答: 我们因为要编程而学习语言,而不要本末倒置。本质是编程,编程的工具是语言,是一种形式符号。
一种好的方法是从简单的(但不是一眼看穿的)例子开始。当设计一个程序时,必须时刻谨记设计的正确性取决于它的作用。
为了构建更复杂的程序,我们需要能够提供组织结构的符号或指令,以便能够对各部分充分发展,
并将他们顺利组合成一个整体,而且组合时不需要再对各部分进行验证。
显然,抽象在其中扮演了重要的角色,符号的作用也不容小视。
我们必须鼓励洁净的、结构良好的语言设计,使程序设计者不必拘泥于具体计算机的烦琐,或者说为产生“好的”输出而烦心。
但不幸的是,现在应用最广范的语言并不具备上述特点。
即使是最简单的程序也充满了含糊不清的符咒,使得初学者,哪怕是专家,也不知所云。
它们往往十分复杂,并诱使程序员用形式奇怪的结构和夸张的风格。
从前,我们接受的教育是计算机和计算机语言应该定义严谨,好使一个人可以通过学习这些定义规则而掌握所有的东西。
不幸的是,现在已经不再如此了。手册变得如此厚重以致没有人使用,这是一个不容置疑错误的征兆。
以C++作为最典型的示例:它对于一切我们曾经学过的关于语言设计的几十年来的东西都置之不理。
新语言定义模糊,又如Java,在正式语法出炉之前,已有四个版本的Java被发布!
程序员们被诱使,指使去尝试,如果一个方式行不通,就试试别的。
这种通过反复试验从错误中学习程序的方式可以称做hacking。
不幸的是,高速的,密集的交互试验,和耐心的电脑使得这一切成为了可能。
但这种方式不能被接受,尤其在学校教育上更难接受,因为它是拙劣工程学的基础,并且造成今天错误百出的软件工程。
现在已经到了我们的大学扮演主角的时候了,我们要成为领导者而不是跟随者。

问: 一种好的大学教育是什么样子的呢,尤其对计算机科学来说?
答: 我觉得数学中的逻辑学的部分应该加入到程序设计中来。
这不是程序执行的正确证明,而是正确的程序结构。
不用说计算机系的学生在大学阶段将全部的数学基础课程都掌握,尤其是对事物精确把握,抽象思考的能力。
如果一个学生获得某一个应用领域的知识会更好,包括商业,科学计算和自动控制等方面。
如果是对于一般教育,我认为还应该包括历史,语言,和自然科学等基础课程。

问: 学习编程最大的挑战是什么?
答:让我引用E.W.Dijkstra的话。他说:“编程的挑战不是去将它搞成一团糟”。
每一天,程序员必须同全新的复杂性问题交战,既然所面对的问题已是复杂的,所以让我们避免在编程中加入更多的人为的复杂的事情。

问: ACM图灵奖被称做计算机界的诺贝尔奖,图灵奖对您的生活和研究工作有何影响?
答: 在1984年获得图灵奖之后,我老被人们称为Pascal语言之父。
但是公正地说,后来的Modula-2和Oberon是更好的设计,更强大,更优雅,更简单。
图灵奖使我的工作得到了最大程度上认可。如果人们是因为通过使用我的作品而认识了我,
比因为我获得过某个奖而认识我,我更愿意接受前者。

问:能不能向我们推荐几本书,包括您自己写的?
答:从众多的出版物中仅挑几本是很因难的,不过我还是尝试选一下:
Structured Programming《结构化编程》. Acad. Press, 1972. ISBN 0-12-200550-3
The mythical man-month《人月神话》. Addison-Wesley, 1975. ISBN 0-201-00650-2.
Principles of concurrent programming《协同编程的几个原则》. Prentice-Hall, 1982. ISBN 0-13-701078-8.
Algorithms《算法》. Addison-Wesley, 1983. ISBN 0-201-06672-6
Contemporary Logic Design 《当代逻辑设计》. Benjamin-Cummings Publ. 1994. ISBN 0-8053-2703-7
还有我写的三本:
Project Oberon《Oberon项目》. Addison-Wesley and ACM Press, 1992. ISBN 0-201-54428-8
Digital Circuit Design《数字电路设计》. Springer, 1995. ISBN 3-540-58577-X
Compiler Construction《编译器构造》. Addison-Wesley, 1996. ISBN 0-201-40353-6

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值