微博

ECO中文网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4360|回复: 0
打印 上一主题 下一主题
收起左侧

1984 尼克劳斯·维尔特

[复制链接]
跳转到指定楼层
1
发表于 2022-4-16 04:26:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册 与译者交流

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
Niklaus E. Wirth
BIRTH:
Winterthur, Switzerland, February 15 1934.

EDUCATION:
Bachelor’s degree in Electronics Engineering (Swiss Federal Institute of Technology Zürich—ETH Zürich, 1959); M.Sc. (Université Laval, Canada, 1960); Ph.D. in Electrical Engineering and Computer Science (EECS) (University of California, Berkeley, 1963).

EXPERIENCE:
Assistant Professor of Computer Science (Stanford University, 1963—1967); Assistant Professor (University of Zurich, 1967—1968). Professor of Informatics (ETH Zürich, 1968—1999) (one-year sabbaticals at Xerox PARC 1976–1977 and 1984–1985).

HONORS AND AWARDS:
ACM Turing Award (1984); IEEE Computer Society, Computer Pioneer Award (1988); IBM Europe Science and Technology Prize 1988 (1989); Member, Swiss Academy of Engineering (1992); Foreign Associate, US Academy of Engineering (1994); Orden Pour le merite (1996); ACM SIGSOFT, Outstanding Research Award in Software Engineering (1999); Leonardo da Vinci Medal, Societe Europeenne pour la Formation des Ingenieurs (1999); Eduard-Rhein Technology-Prize, München (2002); Fellow of the Computer History Museum (2004). Ten honorary doctorates (  University of York, England, 1978;  Ecole Polytechnique Federale, Lausanne, Switzerland, 1978; Université Laval, Quebec, Canada, 1987;  Johannes Kepler Universitaet Linz, Austria, 1993; University of Novosibirsk, Russia, 1996; The Open University, England, 1997; University of Pretoria, South Africa, 1998; Masaryk University, Brno, Czech Republic, 1999;  Saint Petersburg State University of Information Technologies, Mechanics and Optics, Russia, 2005; State University of Ekaterinburg, Russia, 2005).

NIKLAUS E. WIRTH DL Author Profile link
Switzerland – 1984
CITATION
For developing a sequence of innovative computer languages, EULER, ALGOL-W, MODULA and PASCAL. PASCAL has become pedagogically significant and has provided a foundation for future computer language, systems, and architectural research.

SHORT ANNOTATED
BIBLIOGRAPHY
ACM TURING AWARD
LECTURE
RESEARCH
SUBJECTS
ADDITIONAL
MATERIALS
VIDEO INTERVIEW
Niklaus Wirth grew up in Switzerland, and he spent most of his professional life at the Swiss Federal Institute of Technology (ETH) in Zürich. After earning his first degree there in 1959, he left for graduate study in North America and earned his Ph.D. in 1963 from the University of California, Berkeley. After a stint on the Stanford faculty, he returned to ETH in 1968. He was a driving force behind the creation in 1981 of what quickly became one of the world’s leading computer science departments, serving as its head for much of the 1980s. Wirth retired in 1999, but remained a frequent presence on its beautiful hilltop campus for many more years.

Wirth began his rise to prominence in computer science by creating two languages: Euler (based on his dissertation work), and the systems programming language PL360 (for the IBM System/360 series of computers). This early work broke new ground in formal separation of syntax and semantics, in novel implementation techniques, and in careful language design for efficient implementation with specific parsing methods.

Both languages were heavily influenced by Algol. Wirth was part of the elite international group centered on the Algol project, which collaborated to define and implement a series of language standards. The first high level languages, such as FORTRAN, were popular because they made it much easier to write and maintain application programs. But they were hard for computer companies to implement because the hardware was so limited, compiler techniques were poorly understood, and the languages themselves were clumsy or overly complex. Algol 60, the most important creation of the Algol group, introduced recursive functions, structured code blocks, and local variables. It also pioneered the formal description of programming language syntax.

Wirth discusses his introduction to compiler design as a graduate student.       
Starting in 1957, when academic departments and regular conferences for computer scientists did not yet exist, the Algol project laid a vital foundation for the emerging discipline. Through Algol, Wirth collaborated with other future Turing Award winners including C.A.R. (Tony) Hoare, Edsger Dijkstra, and Peter Naur. Like Wirth, all had joined the group after showing early promise as designers of compilers and other systems software, production of which was the major practical challenge facing computer scientists during this era.

In 1966 the Algol group voted against a proposal by Wirth to make its next language an extension and improvement of Algol 60 influenced by his own language EULER. Instead, it chose for the Algol 68 proposal a rival design of great complexity, full of novel and hard-to-implement features. Wirth resigned from the group in 1968. He worked instead with Tony Hoare to turn the rejected proposal into a new unofficial Algol version, Algol-W [1].

Wirth used Algol-W as the basis for what would prove his most influential creation, the language Pascal. Following his personal aesthetic, Pascal was simple, flexible and designed for rapid compilation into efficient code. It retained Algol’s code structures, logical completeness, and support for recursion, but stripped away some of its complexity and added support for complex and user-defined data types. Wirth later wrote that the “single most important guideline” was “to include features that were well understood, in particular by implementors, and to leave out those that were still untried and unimplemented.” [10]

Pascal was adopted in 1971 for teaching at ETH, and it spread rapidly to other universities. To help implement Pascal on computers of all kinds, Wirth created a new kind of compiler which was written for, and generated code to run on, a virtual machine. Simulating this virtual machine on a new computer made it easy to port his compiler. Pascal’s great leap into mainstream use came a few years later, with the spread of personal computers. The simplicity and efficiency of Pascal made it a natural fit to their limited memory and disk space. Borland’s cheap and fast Turbo Pascal compiler cemented Pascal’s position as the leading high level computer language of the 1980s for serious personal computer software development.

Wirth discusses the implementation and spread of Pascal.       
During the 1970s Wirth shared the interest of other veterans of the Algol project, such as Edsger Dijksta and Tony Hoare, in programming methodologies and formal methods. He participated in the IFIP Working Group on Programming Methodology, proposing the idea of stepwise refinement of code as a complement to the various visions of “structured programming” they put forward. His books Systematic Programming [3] and Algorithms + Data Structures = Programs [5] are among the most influential contributions to the literature on programming methods and concepts.

Unlike many of his colleagues, Wirth remained a generalized hands-on system builder. He struggled, with remarkable success, against narrow niches for academic work, and the resulting separation of language design, operating systems, hardware, graphics, and networking into distinct specializations.

During the 1950s and early 1960s, many influential software systems had been created by small academic or industrial groups dealing with practical problems. But by the 1970s and 1980s, the scale of industrial software development increased, and computer science in universities and corporate labs focused more on theory and basic research. It was increasingly unusual for a top computer scientist, particularly within a university, to attempt to create entire production quality systems as Wirth did.

In 1976, influenced by his exposure to the new workstation technology he used while on a sabbatical leave at Xerox’s Palo Alto Research Center (PARC), he led a project at ETH to build a new graphical workstation. Named Lilith, it was a complete computing environment, with an operating system (Medos), high speed local area networking, applications such as text and graphics editors, and laser printers. Its new programming language, Modula- 2, extended Pascal with support for concurrency and greater modularity of code. The first Lilith systems were working by 1980, making these capabilities standard at ETH (and several other universities) years before they were matched by commercial products.

Wirth discusses the roots of Lilith in his time at Xerox PARC.       
A few years later he repeated the trick, leading development of the Ceres workstation, its operating system, and the new object-oriented Oberon programming language and operating system. These were used, in several revisions, at ETH from the mid-1980s well into the 1990s. Modula-2 and Oberon were transferred to commercial machines and were used for computer science teaching applications, though neither had the widespread impact of Pascal. Oberon was implemented for quite different machines, achieving the kind of program portability later made famous by Java.

Wirth’s involvement in hardware design deepened during the 1980s. Computer scientists know that hardware and software design are similarly challenging, but most tend to focus on one or the other. Wirth did both. He seized on the new Field Programmable Gate Array (FPGA), a special chip that can be reprogrammed for a particular application, and developed languages and tools to configure them efficiently from a high level specification.

Decades after pioneering computer science groups at MIT and the Universities of Cambridge and Manchester stopped building their own computers and operating systems, Wirth made ETH a place where computer science students and faculty used internally produced hardware, operating systems, and programming tools. He believed that students should read and understand the code of real systems before trying to write their own. He had a life-long drive for simple, elegant, and efficient systems as part of a broader commitment to the integration of theory and practice.

Wirth discusses the importance of abstraction to language design.       
As Wirth put it in his 1984 Turing Award lecture [9], one must “distinguish early between what is essential and what ephemeral” and ensure that “the ephemeral never impinge on the systematic, structured design of the central facilities.” He observed that:

…every single project was primarily a learning experiment. One learns best by inventing. Only by actually doing a development project can I gain enough familiarity with the intrinsic difficulties and enough confidence that the inherent details can be mastered.

The effectiveness of his systems, and his ability to build complex systems with small teams, relied on his constant search for elegant simplicity—for what could be left out. Over time his language designs and compiler techniques became, in some respects, simpler and more efficient rather than, as is almost universal, slower and more complex. In 1995 he warned that “The plague of software explosion is not a ‘law of nature.’ It is avoidable, and it is the software engineer's task to curtail it.”

Author: Thomas Haigh



Niklaus E. Wirth
出生地:瑞士温特图尔
温特图尔,瑞士,1934年2月15日。

学历。
电子工程学士学位(瑞士联邦苏黎世理工学院,1959年);理学硕士(加拿大拉瓦尔大学,1960年);电子工程和计算机科学(EECS)博士(加州大学伯克利分校,1963)。

工作经验。
计算机科学助理教授(斯坦福大学,1963-1967);助理教授(苏黎世大学,1967-1968)。信息学教授(苏黎世联邦理工学院,1968-1999)(1976-1977年和1984-1985年在施乐PARC公司休养一年)。

荣誉和奖项。
ACM图灵奖(1984年);IEEE计算机协会,计算机先锋奖(1988年);1988年IBM欧洲科技奖(1989年);瑞士工程院院士(1992年);美国工程院外籍院士(1994年);Orden Pour le merite(1996年);ACM SIGSOFT,软件工程杰出研究奖(1999年);欧洲工程师培训协会达芬奇勋章(1999年);慕尼黑Eduard-Rhein技术奖(2002);计算机历史博物馆研究员(2004)。10个荣誉博士学位(英国约克大学,1978年;瑞士洛桑联邦理工学院,1978年;加拿大魁北克省拉瓦尔大学,1987年;奥地利林茨约翰内斯开普勒大学,1993年;俄罗斯新西伯利亚大学,1996年;英国开放大学,1997年;南非比勒陀利亚大学,1998年;捷克布尔诺马萨里克大学,1999年;俄罗斯圣彼得堡国立信息技术、机械和光学大学,2005年;俄罗斯叶卡捷琳堡国立大学,2005年)。

NIKLAUS E. WIRTH DL作者简介链接
瑞士 - 1984年
获奖情况
开发了一系列创新的计算机语言:EULER、ALGOL-W、MODULA和PASCAL。PASCAL已成为具有教学意义的语言,并为未来的计算机语言、系统和架构研究提供了基础。

简短注释的
书目
亚马逊图灵奖
讲座
研究
主题
额外的
材料
采访视频
尼克劳斯-维斯在瑞士长大,他在苏黎世的瑞士联邦理工学院(ETH)度过了他的大部分职业生涯。1959年在那里获得第一个学位后,他去了北美读研究生,并于1963年在加州大学伯克利分校获得博士学位。在斯坦福大学任教后,他于1968年回到了ETH。他是1981年创建迅速成为世界领先的计算机科学系之一的幕后推动者,在80年代的大部分时间里担任系主任。维斯于1999年退休,但在许多年里,他仍然经常出现在美丽的山顶校园。

维斯通过创造两种语言开始在计算机科学领域崭露头角。Euler(基于他的论文工作)和系统编程语言PL360(用于IBM System/360系列计算机)。这项早期的工作在语法和语义的正式分离、新的实现技术以及用特定的解析方法高效实现的精心语言设计方面都有新的突破。

这两种语言都受到了Algol的很大影响。Wirth是以Algol项目为中心的国际精英团队的一员,他们合作定义并实现了一系列的语言标准。第一批高级语言,如FORTRAN,很受欢迎,因为它们使编写和维护应用程序变得更加容易。但是,由于当时的硬件非常有限,编译器技术不为人所知,而且语言本身也很笨拙或过于复杂,所以计算机公司很难实施这些语言。Algol 60是Algol集团最重要的作品,它引入了递归函数、结构化代码块和局部变量。它还开创了编程语言语法的正式描述。

Wirth讨论了他作为研究生时对编译器设计的介绍。       
从1957年开始,当学术部门和计算机科学家的定期会议还不存在时,Algol项目为这个新兴学科奠定了重要基础。通过Algol,维斯与其他未来的图灵奖得主合作,包括C.A.R. (Tony) Hoare、Edsger Dijkstra和Peter Naur。像维斯一样,他们都是在早期显示出作为编译器和其他系统软件设计者的前景后加入该小组的,这些软件的生产是这个时代计算机科学家面临的主要实际挑战。

1966年,Algol小组投票反对Wirth提出的使其下一个语言成为Algol 60的扩展和改进,并受到他自己语言EULER的影响。相反,它为Algol 68提案选择了一个非常复杂的对手设计,充满了新颖和难以实现的功能。Wirth在1968年辞去了小组的工作。他与Tony Hoare合作,将被拒绝的提案变成了一个新的非官方的Algol版本,Algol-W[1]。

Wirth以Algol-W为基础,创造了他最有影响力的作品--帕斯卡语言。按照他的个人审美观,Pascal是简单、灵活的,并且是为了快速编译成有效的代码而设计的。它保留了Algol的代码结构、逻辑完整性和对递归的支持,但剥离了它的一些复杂性,增加了对复杂和用户定义的数据类型的支持。Wirth后来写道,"唯一最重要的准则 "是 "包括那些被充分理解的功能,特别是被实现者理解的功能,而舍弃那些仍未尝试和未实现的功能。" [10]

1971年,Pascal在ETH的教学中被采用,并迅速传播到其他大学。为了帮助在各种类型的计算机上实现Pascal,Wirth创造了一种新的编译器,它是为虚拟机编写的,并生成代码以在虚拟机上运行。在新的计算机上模拟这种虚拟机,可以很容易地移植他的编译器。几年后,随着个人电脑的普及,Pascal成为了主流使用。Pascal的简单和高效使它自然而然地适合于他们有限的内存和磁盘空间。Borland公司廉价而快速的Turbo Pascal编译器巩固了Pascal的地位,使其成为20世纪80年代个人电脑软件开发的主要高级计算机语言。

Wirth讨论了Pascal的实施和传播。       
在20世纪70年代,Wirth与Algol项目的其他资深人士,如Edsger Dijksta和Tony Hoare一样,对编程方法和形式化方法感兴趣。他参加了IFIP编程方法学工作组,提出了逐步完善代码的想法,作为对他们提出的 "结构化编程 "的各种设想的补充。他的书《系统编程》[3]和《算法+数据结构=程序》[5]是对编程方法和概念的文献最有影响的贡献之一。

与他的许多同事不同,Wirth仍然是一个普遍的实践系统构建者。他与狭窄的学术工作领域进行了斗争,并取得了显著的成功,而由此产生的语言设计、操作系统、硬件、图形和网络的分离也成为不同的专业。

在20世纪50年代和60年代初,许多有影响力的软件系统都是由处理实际问题的小型学术或工业团体创建的。但到了70年代和80年代,工业软件开发的规模扩大了,大学和企业实验室的计算机科学更多的是集中在理论和基础研究上。一个顶级的计算机科学家,特别是在大学里,像维斯那样试图创建整个生产质量体系的情况越来越少见。

1976年,受他在施乐公司帕洛阿尔托研究中心(PARC)休假时接触到的新工作站技术的影响,他在ETH领导了一个项目,建立一个新的图形工作站。它被命名为Lilith,是一个完整的计算环境,有一个操作系统(Medos)、高速局域网络、文本和图形编辑器等应用,以及激光打印机。它的新编程语言Modula-2扩展了Pascal,支持并发和更大的代码模块化。第一批Lilith系统在1980年就开始工作了,使这些功能在ETH(和其他几所大学)中成为标准,比它们被商业产品所匹配的时间还要早。

Wirth讨论了Lilith的根源在于他在Xerox PARC的时候。       
几年后,他重施故技,领导开发了Ceres工作站、其操作系统和新的面向对象的Oberon编程语言和操作系统。从80年代中期到90年代,这些都在ETH使用,并进行了多次修订。Modula-2和Oberon被转移到商业机器上,并被用于计算机科学的教学应用,尽管两者都没有Pascal的广泛影响。Oberon在不同的机器上实现了程序的可移植性,这一点后来由Java闻名。

维斯对硬件设计的参与在80年代加深了。计算机科学家们知道,硬件和软件设计具有类似的挑战性,但大多数人倾向于专注于一个或另一个。维斯则两者都做。他抓住了新的现场可编程门阵列(FPGA),一种可以为特定应用重新编程的特殊芯片,并开发了语言和工具,从高层次的规范中有效地配置它们。

在麻省理工学院、剑桥大学和曼彻斯特大学的先锋计算机科学小组停止建造自己的计算机和操作系统数十年后,维斯使ETH成为计算机科学学生和教师使用内部生产的硬件、操作系统和编程工具的地方。他认为,学生在尝试编写自己的系统之前,应该阅读和理解真实系统的代码。他一生都在追求简单、优雅和高效的系统,这也是他对理论和实践相结合的更广泛承诺的一部分。

Wirth讨论了抽象化对语言设计的重要性。       
正如Wirth在他1984年的图灵奖演讲中所说的那样[9],我们必须 "尽早区分什么是必要的,什么是短暂的",并确保 "短暂的永远不会影响到中心设施的系统化、结构化设计"。他指出。

...每一个项目都主要是一个学习实验。一个人最好通过发明来学习。只有通过实际做一个开发项目,我才能对内在的困难有足够的熟悉和足够的信心,才能掌握内在的细节。

他的系统的有效性,以及他与小团队建立复杂系统的能力,都依赖于他对优雅的简单性的不断追求--什么可以不做。随着时间的推移,他的语言设计和编译器技术在某些方面变得更简单、更有效,而不是像几乎普遍的那样,变得更慢、更复杂。1995年,他警告说:"软件爆炸的瘟疫不是一个'自然法则'。它是可以避免的,遏制它是软件工程师的任务"。

作者。Thomas Haigh
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 顶 踩
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|网站地图|关于我们|ECO中文网 ( 京ICP备06039041号  

GMT+8, 2024-11-5 19:32 , Processed in 0.062522 second(s), 19 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表