获得了
1987年计算机先驱奖。他是至今惟一获此殊荣的瑞士学者。
沃思1934年2月15日生于瑞士北部离苏黎世不远的温特图尔(Winterthur),其父瓦尔特是一位地理学教授。沃思小时就喜欢动手动脑,组装飞机模型是他的最大爱好。中学毕业以后,沃思进入在欧洲甚至全世界都很有名气的苏黎世工学院(ETH),1958年取得学士学位。之后他远渡大西洋到加拿大的莱维大学深造(Laval是和加拿大名城魁北克隔圣劳伦斯河相望的一座城市),于1960年取得硕士学位。之后他又一次迁移,到美国加利福尼亚州,进入加州大学伯克利分校,于1963年获得博士学位。学成以后,沃思受聘到斯坦福大学刚刚成立的计算机科学系工作。著名的斯坦福大学门槛极高,怎么会看中了这个来自欧洲小国的毛头小伙子呢?原来在20世纪50年代末、60年代初的情况下,沃思的计算机经验和成就相当引人注目:在苏黎世工学院时,他曾听过瑞士的计算机先驱斯帕塞(A.P.Speiser,他曾出任IFIP的主席)的课,用过由斯帕塞开发的计算机ERMETH(虽然作为学生,机会并不多);在
莱维大学时,沃思学了数值分析,用过Alvac Ⅲ计算机(虽然这台计算机经常出故障而不能开机);在伯克利分校时,沃思先是有一台BendixC—15计算机可用,后来又参加了为IBM 704开发NELIAC语言编译器的科研小组。NELIAC的全称是Navy Electronics Laboratory International Algol Compiler,即美国海军电子学实验室国际Algol编译程序语言,该语言用于数值计算和一些逻辑处理,其特点是用自己的语言写自己的编译程序,然后进行自编译,是一个类似于Algol 58但具有开创性意义的语言。沃思在撰写博士论文时,Algol 60报告已经发表。这是第一个清晰定义的语言,其语法是用严格公式化的方法说明的。当时已有一些学者认识到,清晰的规格说明对于可靠而有效的实现是必需的,但是并不充分:Algol 60报告中还存在一些缺陷和不足。沃思在和Algol的设计者之一、荷兰人范·维京格尔藤(Andriannvan Wijingaarden,他是上一年的计算机先驱奖获得者,曾任阿姆斯特丹数学中心计算部主任,在开发Algol 68中提出了二级文法,又叫W文法,以解决上下文有关这一难题。他曾启发首届计算机先驱奖获得者狄克斯特拉走上计算机科学之路)多次接触和讨论以后,决定对Algol 60作进一步改进,并以此作为自己的博士论文课题。这就诞生了由沃思所设计的第一个语言——Eule,。Eule,虽然在实用性上考虑并不十分周到,但在学术上却非常优美,为编译器的系统设计创造了一个很好的基础。此外,它还对Algol 60进行了若干扩充,主要是增加了表处理能力。正是由于以上原因,斯坦福大学看中了沃思。与此同时,IFIP也注意到了Euler语言,决定吸收沃思参加对Algol语言进行完善与扩充的工作小组。当时,这个小组中有两派,一派主张设计一个新语言,以便树立一个新的里程碑;另一派则觉得时间太紧,主张对Algol 60进行适当扩充。沃思参加进去以后,自称同时属于这两派,并提交了一份建议书。这份建议书经过霍尔(Tony Hoare)等人的修改、完善以后获得通过,这就是Algol W(W是沃思名字的首字母)。第二年,也就是1966年,Algol W在斯坦福大学的第一台IBM 360上成功实现并正式应用。这中间还有一个小插曲:IBM360当时只提供汇编语言和FORTRAN语言,但沃思和他的学生都觉得这两者并不适宜于作为设计编译器的工具。于是,沃思用了两个星期时间写出了一个用来描写Algol编译器的新的语言的定义,然后用了4个月时间在宝来公司的B—5000计算机上完成了交叉编译程序,而沃思的一个学生则把这个交叉编译程序移植到IBM 360上去。这些额外的工作极大地加快了Algol W编译器的开发,同时催生了一个新的语言Pl 360。PL 360虽然是作为辅助工具而设计、开发的,但后来却在许多地方获得应用,取得了意想不到的成功。本新闻共4页,当前在第1页 1 2 3 4
< 1 > < 2 >
|