充气袋厂家
免费服务热线

Free service

hotline

010-00000000
充气袋厂家
热门搜索:
技术资讯
当前位置:首页 > 技术资讯

历史上的今天2月15日1934年Pascal之父NiklausWirth诞生万芳

发布时间:2020-02-14 12:51:47 阅读: 来源:充气袋厂家

【历史上的今天】2月15日:1934年Pascal之父Niklaus Wirth诞生-CSDN.NET

摘要:Niklaus Wirth(尼克劳斯维尔特),是瑞士计算机科学家。他是好几种编程语言的主设计师,如Algol W、Modula、Pascal、Modula-2、Oberon,也是Euler语言的发明者之一。1984年他因发展了这些语言而获图灵奖。他亦是Lilith电脑和Oberon系统的设计和执行队伍的重要成员。他的文章《Program Development by Stepwise Refinement》被视...

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,1934年2月15日生于瑞士北部离苏黎世不远的温特图尔。他从小就喜欢动手动脑,组装飞机模型是他的最大爱好。中学毕业以后,Niklaus Wirth进入了在欧洲甚至全世界都很有名气的苏黎世工学院(ETH),1958年取得学士学位。之后他远渡大西洋到加拿大的莱维大学深造(Laval是和加拿大名城魁北克隔圣劳伦斯河相望的一座城市),于1960年取得硕士学位。之后他又一次迁移,到美国加利福尼亚,进入加州大学伯克利分校,于1963年获得博士学位。

设计了多种著名编程语言

在读博期间,他将对Algol 60作进一步改进作为自己的博士论文课题,并由此诞生了由Niklaus Wirth所设计的第一个语言 Euler。Euler虽然在实用性上考虑并不十分周到,但在学术上却非常优美,为编译器的系统设计创造了一个很好的基础。

学成以后,Niklaus Wirth受聘到斯坦福大学刚刚成立的计算机科学系工作。1966年,IFIP吸收Niklaus Wirth参加对Algol语言进行完善与扩充的工作小组。他进去以后,提交了一份建议书并由霍尔(Tony Hoars)等人修改、完善以后形成Algol W(W是Niklaus Wirth名字的首字母)。同时还催生了一个新的语言PL 360。Algol W及 PL 360奠定了Niklaus Wirth作为世界级程序设计语言大师的地位,使他一举成名。

1967年,在谢绝斯坦福大学的挽留后,他回到了自己的祖国,先在苏黎世大学任职,第二年便回到他的母校苏黎世工学院。在这里,他首先设计与实现了Pascal语言(Philips Automatic Sequence CAlculator Language的缩写),这是在 CDC 6600上开发成功的。

Pascal在数据结构和过程控制结构方面都有很多创造。对于前者,除一般的整型、实型、布尔型数据外,Pascal还增加了字符型、子域类型、记录结构类型、文件类型、集合类型和指针类型;对于后者,除保留了无条件转移的GOTO语句外,又增加了if-then-else、case、while、repeat和for等多种控制结构,还允许复合语句和处理记录变量的分量使用with语句这种编写形式。可以说,现代程序设计语言中常用的数据结构和控制结构绝大多数都是由Pascal语言奠定基础的,因此它在程序设计语言的发展史上具有承上启下的重要里程碑意义。

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

20世纪70年代中期,为适应并发程序设计的需要,Niklaus Wirth又成功开发了一个获得广泛应用的语言Modula。Modula除了提供并发程序设计功能之外,另外一个重要特征是引进了模块概念(这也是这个语言叫做Modula的原因)。此外,它还引进了 进程 (process)这一和并发程序相联系而产生的重要概念。Modula语言还特别适合于书写系统程序。但是,比Modula具有更加重大得多意义的却是它的第二个版本Modula-2。

1968年,Niklaus Wirth又主导开发了Obero语言,该语言主要为Obero操作系统设计。它在语法上与Modula-2很相似,但更精简。

首次提出 结构化程序设计 概念

1971年,Niklaus Wirth基于其开发程序设计语言和编程的实践经验,在4月份的 Communications of ACM上发表了论文 通过逐步求精方式开发程序 (Program Development by Stepwise Refinement),首次提出了 结构化程序设计 (structure programming)的概念。这个概念的要点是:不要求一步就编制成可执行的程序,而是分若干步进行,逐步求精。第一步编出的程序抽象度最高,第二步编出的程序抽象度有所降低 最后一步编出的程序即为可执行的程序。用这种方法编程,似乎复杂,实际上优点很多,可使程序易读、易写、易调试、易维护、易保证其正确性及验证其正确性。结构化程序设计方法又称为 自顶向下 或 逐步求精 法,在程序设计领域引发了一场革命,成为程序开发的一个标准方法,尤其是在后来发展起来的软件工程中获得广泛应用。

有人评价说Niklaus Wirth的结构化程序设计概念 完全改变了人们对程序设计的思维方式 ,这是一点也不夸张的。1983年1月,ACM在纪念 Communications of ACM创刊25周年时,从其1/4个世纪发表的大量论文中评选出有 里程碑意义的研究论文 25篇,每年1篇,Niklaus Wirth的这篇论文就是其中之一。

参与设计Lilith电脑和Oberon系统

1976年,Niklaus Wirth再次赴美国,到Xerox公司的Palo Alto研究中心参与Alto计算机的设计与开发工作。Alto是世界上第一个具有图形用户界面的个人计算机系统(可惜Xerox公司没有把它商品化,而由Apple公司学去了它的技术而推出 Macintosh)。

Niklaus Wirth回到瑞士以后,参考Alto的经验,设计、开发Lilith个人计算机系统。

19世纪80年代末,Niklaus Wirth参与设计了Obero操作系统。该系统完全用Obero语言开发完成,它拥有文本用户界面(TUI),采用 点击式 操作方式,可以对屏幕中的输入进行编辑,可作为命令行输入。Obero操作系统最初作为基于NS32032 Ceres工作站项目的一部分,后来又被移植到其他硬件系统中。

其他成就

除了程序设计语言之外,Niklaus Wirth在其他方面也有许多创造。为了定义和描述语言,Niklaus Wirth对著名的 巴科斯-诺尔范式 BNF进行了扩充,成为EBNF(Extended BNF)。我们目前所看到的许多语言的BNF实际上是EBNF,不过人们往往忽略掉这个E字。和BNF一起出现的,还常常有一些看上去像铁路图那样的图形,称作 语法图 (syntax chart或syntax diagram)或 铁路图 (railroad diagram),这也是由Niklaus Wirth所设计与发明的,这种图形标记法的描述能力等价于BNF,更易于阅读与理解,更加直观。

美女性感照片

美女写真