设为首页 | 加入收藏

人物观点

金融家

专题

文化

  • 吴虹妮回顾普恒传媒和新媒体财万网在2016年创业初与会概览

    时至2024年,北京普恒传媒有限公司已经由尊敬的业界同仁提名9项荣誉。回顾2016年北京普恒传媒有限公司创始人创始之初,财万网是普恒传媒第一个重要的新闻社服务工作事项,其中包括卫星通讯社服务。

    39 2024-11-22
  • 唯物史观确立文明演进的正道逻辑

    人类的历史是人自己的理论和实践活动的产物。但是,进入文明社会以来,尤其是当人类确立了以哲学审视人类全部历史性实践的方式以来,

    229 2021-08-10
  • 深刻把握党史在“四史”中的重要地位

    在2020年1月8日召开的“不忘初心、牢记使命”主题教育总结大会上,习近平总书记指出“要把学习贯彻党的创新理论作为思想武装的重中之重,同学习马克思主义基本原理贯通起来,同学习党史、新中国史、改革开放史、社会主义发展史结合起来”,这一重要嘱托表明“四史”教育事关党的理论传承及创新。

    407 2021-03-25
  • 语言战略在美国家安全中的作用与启示

    一方面,语言作为软实力能够成为沟通各国文化的桥梁,具有提升国家形象和国际地位的作用;另一方面,语言也是一种战略资源,成为了解他国文化和战略的基础,是国家安全的重要保障。

    438 2019-09-09

计算机传奇人物系列之尼古拉斯·沃斯(Niklaus Wirth)

创建时间:2016-01-11 19:49

   中科院计算机研究所 尼古拉斯·沃斯(Niklaus Wirth,1934年2月15日—),生于瑞士温特图尔,是瑞士计算机科学家。少年时代的Niklaus Wirth与数学家Pascal一样喜欢动手动脑。
   人物简介
   1958年,Niklaus从苏黎世工学院取得学士学位后来到加拿大的莱维大学深造,之后进入美国加州大学伯克利分校获得博士学位。
   从1963年到1967年,他成为斯坦福大学的计算机科学部助理教授,之後又在苏黎世 大学担当相同的职位。1968年,他成为ETH的信息学教授,又往施乐帕洛阿尔托研究中心进修了两年。
   他有一句在计算机领域人尽皆知的名言“算法+数据结构=程序”(Algorithm  +Data Structures=Programs)
   著名公式
   凭借一句话获得图灵奖的Pascal之父——Nicklaus Wirth,让他获得图灵奖的这句话就是他提出的著名公式:“算法+数据结构=程序”。
   这个公式对计算机科学的影响程度足以类似物理学中爱因斯坦的“E=MC^2”——一个公式展示出了程序的本质。
   Nicklaus Wirth,1934年出生于瑞士,1963年在加州大学伯克利分校取得博士学位。取得博士学位后直接被以高门槛著称的斯坦福大学聘到刚成立的计算机科学系工作。在斯坦福大学成功的开发出Algol W以及PL360后,爱国心极强的Nicklaus Wirth于1967年回到祖国瑞士,第二年在他的母校苏黎世工学院他创建与实现了Pascal语言——当时世界上最受欢迎的语言之一。
   后来他的学生Philipe Kahn毕业后和Anders Hejlsberg(Delphi之父)创办了Borland公司靠Turbo Pascal起家,很快成为了将Borland发展成为全球最大的开发工作厂商,这一切都不得不说要归工于PASCAL语言的魅力。PASCAL已经影响了整整几代的程序员,Nicklaus Wirth的思想还将会继续指引现在和以后的程序员前进的方向。

Pascal之父

(1)成长历程

威茨1934年2月15日生于瑞士北部离苏黎世不远的温特图尔 (Winterthur),其父瓦尔特是一位地理学教授。威茨小时就喜欢动手动脑,他的最大爱好就是组装飞机模型。中学毕业以后,威茨进入在欧洲甚至全世界都很有名的苏黎世工学院(ETH),1958年取得学士学位。之后他到加拿大的莱维大学深造(Laval是和加拿大名城魁北克隔圣劳伦斯河相望的一座城市),于1960年取得硕士学位。之后他又一次迁移到美国加州,进入加州大学伯克利分校,于1963年获得博士学位。

 学成以后,威茨受聘到斯坦福大学刚刚成立的计算机科学系工作。著名的斯坦福大学门槛极高,怎么会看中这个来自欧洲小国的毛头小伙子呢?原来在50 年代末、60年代初,威茨的计算机经验和成就相当显赫:在苏黎世工学院时,瑞士的计算机先驱斯帕塞(A.P.Speiser,他曾经出任IFIP的主席)曾经给威茨上过有关计算机的课程,也曾经用过由斯帕塞开发的计算机ERMETH;在莱维大学时,威茨学了数值分析,上过AlvacⅢE计算机;在伯克利时,威茨先是有一台Bendix G-15计算机可用,后来又参加了为IBM 704开发NELIAC语言编译器的科研小组(NELIAC是一个类似于Algol 58的语言)。威茨在撰写博士论文时,Algol 60报告已经发表。Algol 60是第一个清晰定义的语言,其语法是用严格公式化的方法说明的。但当时已有一些学者认识到,清晰的规格说明对于可靠而有效的实现是必需的,但还不够。Algol 60报告中还有一些缺陷和不足。威茨在和Algol的设计者之一冯·维京格藤(Andrian van Wijngaarden)多次接触和讨论以后,决定对Algol 60做进一步改进,并以此为自己的博士论文课题。这就诞生了由威茨所设计的第一个语言Euler。Euler虽然在实用性上考虑并不很周到,但在学术上却非常优美,为编译器的系统设计创造了一个很好的基础。

 (2)AlgolW编译器的开发和语言PL360

 正是由于上述经历和成果,斯坦福大学看中了威茨。与此同时,IFIP负责Algol语言完善与扩充的工作小组也看中了威茨,吸收他参加工作。当时,小组中有两派,一派劲头十足地要设计一个新语言,以便树起一个新的里程碑;另一派则觉得时间太紧,主张对Algol 60进行适当扩充。威茨参加进去以后,自称同时属于这两派,并提交了一份建议书。这份建议书经过霍尔(Tony Hoare)等人的修改、完善以后获得通过,这就是Algol W(W是威茨名字的首字母)。第二年,也即1966年,Algol W在斯坦福大学的第一台IBM 360上成功实现并正式应用。这中间还有一个小插曲:IBM 360当时只提供汇编语言和FORTRAN语言,但威茨和他的学生都觉得这两者并不适宜于作为设计编译器的工具。为此,威茨决定定义另一种语言来描写 Algol W的编译器。威茨用了两周时间写出这个语言的定义,然后用了4个月的时间在Burroughs公司的Bu5000计算机上完成了交叉编译程序,而威茨的一个学生则把这个交叉编译程序移植到IBM 360上去。这些额外的工作极大地加快了Algol W编译器的开发,同时催生了一个新的语言PL360。PL360 虽然是作为辅助工具而开发的,但却在许多地方获得应用。

(3)商业应用

说来有趣,沃思开发PASCAL的初衷是为了有一个适合于教学的语言,并没有想到商业应用。但一经推出,由于它的简洁明了,它所提供的丰富的数据结构和控制结构为程序员提供了极大的方便与灵活性,也由于它特别适合于由微处理器所组成的计算机系统,竟然大受欢迎,广泛地流传开来。在C语言问世以前,PASCAL是风靡全球、最受欢迎的语言之一,创下了发行拷贝数最多的世界记录。单是沃思的一个学生菲力浦·凯恩(Phillipe Kahn),从ETH毕业以后,在美国加利福尼亚州办了一个软件公司,就卖出了100多万个PASCAL拷贝,成为百万富翁。

(4)结构化程序设计概念

 1971年,沃思基于其开发程序设计语言和编程的实践经验,在4月份的 Communications of ACM上发表了论文“通过逐步求精方式开发程序’(Program Development by Stepwise Refinement),首次提出了“结构化程序设计”(structure programming)的概念。这个概念的要点是:不要求一步就编制成可执行的程序,而是分若干步进行,逐步求精。第一步编出的程序抽象度最高,第二步编出的程序抽象度有所降低……最后一步编出的程序即为可执行的程序。用这种方法编程,似乎复杂,实际上优点很多,可使程序易读、易写、易调试、易维护、易保证其正确性及验证其正确性。结构化程序设计方法又称为“自顶向下”或“逐步求精”法,在程序设计领域引发了一场革命,成为程序开发的一个标准方法,尤其是在后来发展起来的软件工程中获得广泛应用。有人评价说沃思的结构化程序设计概念“完全改变了人们对程序设计的思维方式”,这是一点也不夸张的。1983年1月,ACM在纪念 Communications of ACM创刊25周年时,从其 1/4个世纪发表的大量论文中评选出有“里程碑意义的研究论文” 25篇,每年1篇,沃思的这篇论文就是其中之一。

(5)继续创造性的研究与开发工作

PASCAL的成功也罢,结构化程序设计思想的巨大影响也罢,都没有停止沃思继续创造性的研究与开发工作。20世纪70年代中期,为适应并发程序设计的需要,沃思又成功开发了一个获得广泛应用的语言Modula。M0dula除了提供并发程序设计功能之外,另外一个重要特征是引进了模块概念(这也是这个语言叫做Modula的原因)。此外,它还引进了“进程”(process)这一和并发程序相联系而产生的重要概念。Modula语言还特别适合于书写系统程序。但是,比Modula具有更加重大得多意义的却是它的第二个版本Modula.2。这是 1976年,沃思再次赴美国,到 Xerox公司的 Palo Alto研究中心参与Alto计算机的设计与开发工作。Alto是世界上第一个具有图形用户界面的个人计算机系统(可惜Xerox公司没有把它商品化,而由Apple公司学去了它的技术而推出 Macintosh)。

(6)1984年获得了图灵奖

凡是学过一点计算机的人大概都知道“算法+数据结构=程序”这一著名公式。提出这一公式并以此作为其一本专著书名的瑞士计算机科学家尼克劳斯·威茨(Niklaus Wirth)于1984 年获得了图灵奖。这是瑞士学者中唯一获此殊荣的人。

荣誉

他是好几种编程语言的主设计师:

Algol W Modula Pascal Modula-2 Oberon

他亦是Euler语言的发明者之一。1984年他因发展了这些语言而获图灵奖。他亦是Lilith电脑和Oberon系统的设计和执行队伍的重要成员。

他的文章Program Development by Stepwise Refinement视为软体工程中的经典之作。他写的一本书的书名Algorithms + Data Structures = Programs(算法+数据结构=程式)是计算机科学的名句。

欧洲人通常都将他的名字读得正确,读作“Nih-klaus Virt”;但美国人通常读成“Nickles Worth”近似的音。於是有人便说,欧洲人传址呼叫他,美国人传值呼叫他。

学术著作

沃斯的学术著作很多,主要有如下几种,其中一些是由法文译成英文的:《系统程序设计导论》(《Systematic Programming:AnIntroduction》,Prentice-Hall,1973。其法文版已出至第5版);

《算法数据结构=程序》(《Algorithms Data Structures=Programs》,Prentice-Hall,1976)。

《算法和数据结构》(《Algorithms and Data Structures》,Prentice-Hall,1986)。

《Modula-2程序设计》(《Programming in Modula-2》, Springer,1988,第4版)。

《PASCAL用户手册和报告:ISO PASCAL标准》(《PASCAL User Manual and Report:ISOPASCAL Standard》,Springer,1991)。

《Oberon计划:操作系统和编译器的设计》(《Project Oberon:the Design of an Operating System andCompiler》,ACM Pr.,1992)。

《Oberon程序设计:超越Pascal和Modula》(《Programming in Oberon:Stepsbeyond Pascal and Modula》,ACM Pr.,1922)。

《数字电路设计教材》(《Digital Circuit Design for Computer Science Students:AnIntroductory Textbook》,Springer,1995)。

ACM除了在1984年授予沃斯图灵奖外,1987年又授予他另一项奖:计算机科学教育杰出贡献奖。另一个重要的国际学术组织IEEE也授予过沃斯两个奖项:1983年的Emanual Piore奖和1988年的计算机先驱奖(Computer Pioneer Award)。1992年,加州大学伯克利分校命名威茨为“杰出校友”。

沃斯是在1984年10月于旧金山举行的ACM年会上接受图灵奖的。沃斯发表了题为“从程序设计语言设计到计算机建造”(From Programming Language Design to ComputerConstruction)的图灵奖演说,回顾了自己在计算机领域所做的工作。演说全文刊载于《Communications of ACM》1985年2月,159-164页,也可见《ACM 图灵奖演说集》(《ACM Turing Award Lectures-The First 20 rears:1966-1985》,ACMPr.),179- 196页。