执着的数字思想者——Pascal之父

Niklaus Wirth 其人
 
图:Niklaus Wirth 近照
引言:程序=算法+数据结构

尼克劳斯·沃斯(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教授还在很多大学担任名誉教授,从俄罗斯到南非遍布世界各地。


执着技术梦
引言:“Everything is software, but software is not everything.”
一切都可以是软件,但软件并不是一切。
 
图:退休后的Wirth先生
Wirth的一生,是执着地追求技术的一生,每一个阶段,都有他的执着和独特的思考。生于瑞士,求学美洲,立业瑞士。
瑞士是Wirth的故乡,也是他天真烂漫童年渡过的地方。1934年2月,Wirth生于瑞士北部离苏黎世不远的温特图尔(Winterthur),Wirth小时就喜欢动手动脑,组装飞机模型是他的最大爱好。他父亲是高中地理学教师,有一个小书房,作为家中唯一的孩子,父亲的书房成了他发现灵感的地方,这里有许多技术书籍,从这些书中,他发现了涡轮、蒸汽机、火车头和电报的构造说明,这些问题令他着迷。但是这些理论并没有使他满足,他想知晓生活中这一切东西是怎样运作的,怎么办呢?自己动手做。
作为飞机模型迷,他和朋友们建造了自己的飞机,数量还相当可观,足有几十只,最大的一个机翼跨度足有三米半。在高中时,他还是一个化学迷,在家中地下室里建立了一个实验室,以用来实验在学校里学到的东西。象其他的孩子一样,他童年时也有一些有意思的小故事。有一次,他和朋友做了一个火箭模型,在实验时,由于没有将硝石、硫磺和木炭等混合物压缩好,结果使火箭没有到达预定轨道,更为不幸的是,火箭落到了校长的脚下,当时校长正好溜达到学校的角落里,好处是校长比较和蔼,他们并没有得到纪律处分。
也许正是从那时起,燃起了他的技术梦,在他的职业生涯中他走出了一条自己的路。中学毕业以后,Wirth进入在欧洲甚至全世界都很有名气的苏黎世工学院(ETH),获得电子工程学士学位后,他于1959年离开了瑞士,远渡重洋来到加拿大,在加拿大的莱维大学(Laval University)深造,于1960年取得硕士学位。之后他再次迁移,来到美国加利福尼亚,进入世界闻名的加州大学伯克利分校,于1963年获得博士学位。并且后来成了斯坦福大学的助理教授。
在加拿大两年,美国八年后,1968年,Wirth 一家重回到了瑞士,等着他的是承建ETH计算机科学部门的重任。计算机科学及计算机科学教育成了他一生不解的缘,不过他的子女并没有完全继承父业,虽然大女儿和儿子也在学校中工作,但一个搞行政,另一个教音乐。
在ETH工作32年后,1999年3 月他正式退休,而ETH的计算机科学大厦业已建立。
YZ: 您能谈一下自己的家庭吗?在退休的前后,生活有什么样的不同?
NW:我和我妻子Diana生活在距离苏黎世大约13公里的郊区,我有三个孩子,他们都长大了,有自己的家庭。最大的女儿是一所学校校长的秘书;我的儿子给未来要成为教师的学生们教授音乐;我的儿媳妇是一位学校心理学工作者。
我是六年前退休的。我喜欢这种闲适的生活,没有压力,也没有时间表,议程,会议和测验。原则上,退休后一个人更能够集中精力干自己喜欢的事情。但实际上我仍然有不少杂务。我继续应邀作演讲,继续写论文;作为业余爱好,仍然用我那台18岁大的老电脑Ceres,编一些程序或搞一些电子制作。我还将时间用在看文学著作上,也经常出去散步、远足。
YZ: 您的生活是怎样和计算机联系在一起的呢?
NW: 当时我对于一些计算机问题着迷,可能是因为它新奇而神秘,而且没有人教授。1959年,当我完成了在ETH的课程后,我首先移居到加拿大,一年后到了美国加利福尼亚州。在加拿大,我取得了硕士学位并设计了一台模拟计算机。在伯克利,我参加了一个小组——多少有些偶然的成分在其中——为一种程序设计语言的编译器而工作,那是Algol58的一种派生语言。这个编译器非常复杂,如何让它有条理又易于理解使我着迷。就这样我开始了在设计程序语言方面工作,有关于编译器方面的,也有句法构造分析方面的。这些工作在那时都是全新的、从没有人了解过的课题。我于1963年获得博士学位,论文正是对此问题的讨论:名称是《一般性Algol语言》,授予单位是加州大学伯克利分校电机工程系。
YZ: 您觉得怎样才是一种好的学编程的方式呢?一种编程工具是不是必要的?
NW: 我们因为要编程而学习语言,而不要本末倒置。本质是编程,编程的工具是语言,是一种形式符号。一种好的方法是从简单的(但不是一眼看穿的)例子开始。当设计一个程序时,必须时刻谨记设计的正确性取决于它的作用。为了构建更复杂的程序,我们需要能够提供组织结构的符号或指令,以便能够对各部分充分发展,并将他们顺利组合成一个整体,而且组合时不需要再对各部分进行验证。显然,抽象在其中扮演了重要的角色,符号的作用也不容小视。我们必须鼓励洁净的、结构良好的语言设计,使程序设计者不必拘泥于具体计算机的烦琐,或者说为产生“好的”输出而烦心。
但不幸的是,现在应用最广范的语言并不具备上述特点。即使是最简单的程序也充满了含糊不清的符咒,使得初学者,哪怕是专家,也不知所云。它们往往十分复杂,并诱使程序员用形式奇怪的结构和夸张的风格。从前,我们接受的教育是计算机和计算机语言应该定义严谨,好使一个人可以通过学习这些定义规则而掌握所有的东西。不幸的是,现在已经不再如此了。手册变得如此厚重以致没有人使用,这是一个不容置疑错误的征兆。以C++作为最典型的示例:它对于一切我们曾经学过的关于语言设计的几十年来的东西都置之不理。新语言定义模糊,又如Java,在正式语法出炉之前,已有四个版本的Java被发布!程序员们被诱使,指使去尝试,如果一个方式行不通,就试试别的。这种通过反复试验从错误中学习程序的方式可以称做hacking。不幸的是,高速的,密集的交互试验,和耐心的电脑使得这一切成为了可能。但这种方式不能被接受,尤其在学校教育上更难接受,因为它是拙劣工程学的基础,并且造成今天错误百出的软件工程。现在已经到了我们的大学扮演主角的时候了,我们要成为领导者而不是跟随者。
YZ: 一种好的大学教育是什么样子的呢,尤其对计算机科学来说?
NW: 我觉得数学中的逻辑学的部分应该加入到程序设计中来。这不是程序执行的正确证明,而是正确的程序结构。不用说计算机系的学生在大学阶段将全部的数学基础课程都掌握,尤其是对事物精确把握,抽象思考的能力。
如果一个学生获得某一个应用领域的知识会更好,包括商业,科学计算和自动控制等方面。如果是对于一般教育,我认为还应该包括历史,语言,和自然科学等基础课程。
YZ: 学习编程最大的挑战是什么?
NW:让我引用E.W.Dijkstra的话。他说:“编程的挑战不是去将它搞成一团糟”。每一天,程序员必须同全新的复杂性问题交战,既然所面对的问题已是复杂的,所以让我们避免在编程中加入更多的人为的复杂的事情。

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


Pascal一家
 
图:Wirth名言实录
引言:Program testing can show the presence of mistakes,but never prove their absence.
程序测试能说明存在着错误,但不能说明没有错误。

Pascal语言是Wirth走向世界和成名的开始,从1968年诞生至今,演化成一个庞大的家族。Pascal是成功的,成功的原因有很多,除了语言本身的精确和严谨,最有趣的莫过于和这个名字相联系的一个思想家、数学家、物理学家Blaise Pascal,而后的Modula及Oberon秉承Pascal的特性,但没有发展到Pascal般的流行,其中的一个原因也许在于它的名字:难怪Wirth不无遗憾地说,当时为什么没有将Modula 称作Pascal-2呢?!
承接他在美国时的研究工作成就Alogol-W语言,Wirth完善了他的语言系统结构,也有了从Pascal到Modula再到Oberon 的发展。
20世纪70年代中期,为适应并发程序设计的需要,Wirth成功开发Modula,除了提供并发程序设计功能,另一个重要特征是引进了模块概念。Modula语言还特别适合于书写系统程序,比Modula具有更加重大意义的是Modula-2。 1976年,Wirth再次赴美国,到 Xerox公司的 Palo Alto研究中心参与Alto计算机的设计与开发工作。Alto是世界上第一个具有图形用户界面的个人计算机系统。
Wirth回到瑞士以后,参考Alto的经验,设计、开发Lilith个人计算机系统。为了和Lilith的体系结构相配合,沃思决定在Modula基础上开发新版本,作为整个系统的开发语言。Modula-2与Modula相比,语法更加简洁,更加强调界面设计,模块的可重用性更好。M0dula-2在优雅性(elegance)和简洁性(simplicity)两方面都比Modula更进一步。
Lilith的操作系统、图形软件包、数据库系统、网络协议套件、文件服务器等基本系统和大量应用模块全都是用M0dula-2开发的。目前世界上已经开发了近百个Modula-2的编译系统,北美和欧洲的许多大学已经用Modula-2代替PASCAL作为计算机系本科生的第一门程序设计课程。
在Lilith项目中,沃思坚持将计算机体系结构、语言、操作环境这三者统一起来考虑,实行集成化、一体化设计的成功经验是具有革命性的创举。
继Modula之后的一个新的计划是Oberon。Oberon是将程序设计语言和操作系统结合在一起的、面向单用户的个人工作站系统。Wirth认为,在因特网日益普及的情况下,今后联网的计算机主要将是个人工作站,因此如何使个人工作站功能更加强大、更加方便使用是一个十分重大的课题。Wirth把这个计划取名为Oberon是寓意深长的,因为Oberon是希腊神话中的仙境之王和女神Titania的丈夫。Wirth的目标是要使Oberon语言超越PASCAL和Modula,设计出的操作系统和编译器功能更加强劲。

完美的进程中,值得一提的是他对硬件设计非常感兴趣,他的观点也非常明确:只有当硬件和软件紧密结合,建立一个对用户友好的解决方案成为可能。正是在这些想法的驱使下,他设计出了电脑Lilith,Ceres和Chamaeleon,同样,这些电脑和操作系统也成了他软硬件结合的经典案例。他说:“我一直设计语言是因为我在实践中的需要,而以前的语言不能满足这种需要。”而Modula和Oberon是设计Lilith和Ceres工作站时的产品。
另外一个看点是他对于学术和教学的执着态度。他刚回到瑞士时,在瑞士教授计算机科学尚处在幼年时期,1965年美国就开始有计算机科学课程,而在ETH的时间是开始的时间是1972年,正式时间是1980年,也就是Wirth回到瑞士后的第12个年头。我们不难想象他的所做所面对的巨大阻力和挑战。
而他的图形用户界面电脑Lilith诞生时苹果II电脑还仅仅拖着一个笨重的键盘,虽然Lilith并没有带给Wirth 商业上的成功。他的观点依然非常明确,应该将工业领域和研究教育工作分开,他强调说:“如果大学研究只重视短期的效益,显然这是一个非常具有破坏性的观点”。

YZ: 您为什么发明Pascal语言呢?发明的过程是什么?Pascal对您的生活和研究有什么影响?
NW:我在斯坦福大学继续从事程序语言的课题,致使Euler,Algol W ,PL360等语言产生,也包括在1968年回到瑞士以后的诞生的Pascal语言。作为苏黎世工学院的新的教授,我的任务是教授计算机科学。在当时,主要的任务是教授语言、算法和数据结构。可以利用的语言有Algol、Fortran和汇编码。而我认为Algol的设计很差劲,Fortran和汇编语言对学生们又有不好的影响。因此,唯一的方法是设计一种我自己的语言,并实现它。它可以适合教学,也可以用来构造系统类程序如编译器。这就意味着这种语言必需简单且结构良好,容易解释和理解;简单来说就是:一个洁净的设计。这种做法的结果就是Pascal语言。3个助手用了2年时间来为一个大型机设计了Pascal的编译器。
在抗拒了不少同事的反对声浪后,1972年,我们将Pascal做为正式的程序设计课程。其他的几所大学对此也非常感兴趣并寻求帮助。结果,我们设计了一个“便携式系统”——Pascal-P。它的编译器能够生成P代码。但是真正的突破却发生在五年后,当微型机出现时,它让Pet 机,Tandy机,Apple机等走进了千家万户和学校等机构,那些曾不知Fortran和汇编程序为何物的计算机用户,开始发现Pascal是一种理想的学习编程的工具。有一些公司改动了我们的P-编译器并以很低的价格出售。那是真正的计算机时代的开始。
这种发展极大地影响了我的职业生涯,并使我更相信我从事的工作的重要,和继续发展更好的计算机语言,并纠正Pascal的错误,弥补它的缺点。到1979年,我设计出了Modula-2,它是改进过的Pascal语言,适合于构建大型的程序系统。它的主要创新是模块化的设计理念和全部静态数据类型检查的分布式编辑。有一些公司设计和出售Modula编译器,但不太成功。我曾经认为每一个Pascal程序员都会非常高兴地转向Modula,但这一现象却并未发生。早知如此,我应该给它取名Pascal-2!但Modula仍然得到广范的应用,例如巴黎地铁一号线,新的俄罗斯卫星系统正是通过它来编程的。在这之后,我还继续改进如Algol传统计算机语言:1988年Oberon从Modula蜕变而出。它和面向对象程序设计这种新的程序风格成为一体,并且并没有将以前存在的功能抛弃。我的原则是循序渐进地演化而不是全盘革命。
YZ: 据说Pascal语言的名字来源于Blaise Pascal。我还记得他《思想录》中的名言:“思想形成人的伟大”。请谈一下Blaise Pascal对您的影响?
NW:我选择他的名字,是因为他发明了第一台数位式装置。在他16岁时,帮助他的父亲收税时,他发现这项工作单调乏味,有了一种怎样实现自动相加的想法。1642年他通过一些齿轮做出了这台装置,这是第一台能实现十进制进位的机器。Pascal是一位天才的数学家和物理学家,他被称作概率论之父,气压的单位就是以他的名字来命名的。但是在他23岁时,他却忽然间信了教,抛弃了原来的生活而做了修士。令人遗憾的是,Pascal在哲学上和神学上比在数学和物理方面更为出名,但这并没有影响过我。
YZ:我们知道Pascal和C++,Java,但对Oberon和Modula了解不多。有没有什么方法可以得到他们?
NW:Modula(1979)和Oberon(1988)其实应用很广范,本质上是免费的。请参看网站:
www.Oberon.ethz.ch。Oneron也有一个商业化的版本,即Black Box Pascal(黑盒Psacal),可能是因为Oberon技术模块化和信息隐藏的原因吧。www.Oberon.ch, www.Oberonmicrosystems.ch
YZ:  您觉得计算机语言和人类的语言有什么区别?
NW: 人类的语言是用来说话的,程序设计语言却不是。事实上,我认为“Programming lannguage(程序设计语言)”这一术语是不正确不适当的。“formal notations(形式符号)”则更为确切。选择术语language的原因是因为这些程序语言可以被定义,也就是后来所用的BNF和ENF,而许多人天真地以为口语也可以如此定义,程序设计语言必须简洁和准确,这有别于口语的多义性和含糊性,因为口语中我们需要这些特点来开玩笑或用于暗示避免失礼。

YZ: 您对OO有什么看法吗?它是一种好的和可能的思考方法吗?从结构化程序设计到面向对象编程的最大挑战是什么?
NW: 面向对象最初起源于模拟离散事件的系统(Simula,1966),它已经被操作系统的设计者所采用,因为在操作系统中,独立执行管理的思想方式恰当地得到直观化(Smalltalk ,1978)。一般认为它比较吸引人,例如窗口,菜单,按钮等。做为一个独立的具有他们自己的行为和方法的对象。
但这并不意味着所有的一切都看做对象,更不是说这种方式对于所有的问题是适用的。我觉得它更适合于复杂的多界面多任务的系统,但不适合下面的情况:参数和结果有联系,可以用数学函数来解决的问题。
事实上,OO平台是建立在传统的平台之上的。在Oberon语言中我们已经实现了这一功能。它看起来象一个标准的传统意义上的语言,但包含了OO类程序设计所需的所有功能。
“一切都是对象”的说法是荒谬的,这在Smalltalk中关于数字的观点中可以清楚地看出,这里,求x+y 的和不能由简单的加法得到,而是通过请求对象x有add方法而得到,它不对称地表示如下:x.add(y)。这是胡说八道。过分地教条化不可避免地导致一种没必要的奇怪和复杂的结果。
另一项不幸的副作用是OO平台同时宣传的新的术语,都非常令人难忘也容易将人搞糊涂。下面列出几组同义词:
variable object
procedure method
parameter message
calling a procedure sending a message
data type object class


YZ: 您觉得数学和计算机科学的联系是什么?
NW:在很多大学里,Computer Science计算机科学(欧洲称做Informatics)系是从数学系中独立出来的。这是因为早期的计算机用来进行计算J,数学家当仁不让地就是最权威的人士。在其他的地方,CS系是从电机工程系独立出来的,因为是工程师们造出的这些机器。在现在,每一个人都成了电脑用户,除了在数字分析领域,数学家们已不再具有特权地位了。
关于未来的建议
 

图:Wirth在苏州大学(原东吴大学)
Wirth的独特见解,对于正热心于计算机语言和编程的朋友们来说可能会有一定益处。他除了重复他的一贯认真严谨,还继续他的一针见血。还有他推荐的几本书籍,对正在歧路彷徨的学子,有一定意义的指导作用。
他一直坚持自己对学术和教育的执着态度,持续他对工业领域的批判。不随大流,应有自己的判断能力,让我们进一步见识了Wirth先生的风采。
YZ:您到过中国几次?对中国的第一印象是什么?
NW: 中国不仅和欧洲相隔遥远,而且迟至上世纪,它对于我们来说还是一个封闭的世界。因此我第一次访问中国是在1982年,那时作为苏黎世工学院(ETH)教授代表团的一员来的。我曾在ETH教书31年,ETH全称是瑞士联邦苏黎世技术学院。那次,我们访问了北京、上海、南京和广州,忙碌于宴会与宴会之间,给我们做向导的是我们的德文翻译。第二次访问是在2003年,应邀参加南京理工大学50周年校庆,而后我参观了无锡、苏州和上海。
当一个人必须小心判断他的第一印象,对于中国这样的大国尤其如此,我们仅仅能看到其中很小的一个片断。2003年,我参观了中国最发达的几个地区之一的上海、南京和杭州。和20年前时的印象相比较,我被现在巨大的变化震惊了。对于我,从瑞士,或象瑞士一样非常小的国家来的人,上海的超级城市规模令人害怕。要知道,瑞士整个国家的人口还不到上海的一半。它的宏伟建筑、巨大机场、现代单轨铁路和遍地都是的Burger Kings,麦当劳,肯德基让我想起了美国,但我更喜欢中国菜!另一方面,交通拥堵是也提醒我西方化生活方式不好的一面。我不知道这种巨大的商业化浪潮是否影响了中国乡下农村中生活的人们,毕竟那才是大部分中国人的生活空间。我不禁问自己:我看到的就是真实的中国吗?
人们和二十年前的不同也是显而易见的。人们观念更开放,更焦虑不安,好象急着追求一个目标。有更多学生懂英语,并且十分热心地去学习它。
YZ: 2003年您曾经到中国访问,并在几所大学里做了演讲。大学生们在听完您的演讲后最关心的话题是什么?您的回答又是什么呢?
NW:男生倾向于问技术性的问题,女生则倾向于问我是怎样变得对计算机感兴趣的,以及我的生活,我有什么建议给他们。我对后题的回答是:对于一门学科,认真地学习基础性重要的课题,略过不重要的和短期的问题,要学会辨别重要的和不重要的本质。
YZ: 您对中国的程序员们有何认识?您最想对他们说点什么?
NW: 我恐怕只能说我不了解中国的程序员了,因此,我不能对他们做出评论。但是我可以表达自己的希望:他应该为了高品质和卓越而奋斗,他具有专业的自尊心,不仅做出正确高效的程序,而且有优雅漂亮的设计,他还应该具有择善固执的态度,不随大路。只有满足了这些,最终成就一位杰出的设计师。我期望他会根据自己的判断自由地选择他的工具,他会分辨便利性而不只局限于惯例。并且,他还能识别对于持续发展来说什么是重要的本质的东西和什么只会带来短期的商业利益。

YZ: 您能对IT的将来做一下预测吗?
NW: 首先声明一点我不是先知或预言家。如果25年前你问任何一个人关于今天计算机扮演的角色,他一定答的不对,当然也包括我。但有一件事是很明显的:计算已经成为经济体制中的一个非常重要的因素。这从你用缩写的IT代替CS就可以映射出。说计算机将会应用在更多的领域是不过分的。事实上,大学计算机系正在加速和各种不同应用领域结合,而不在于计算机自身的设计,设计计算机的工作几乎都离开学术界而留给工业界。遗憾的是,当今工业领域对洁净的、清楚的和实用的设计几乎不感兴趣,更谈不上优美和高雅了!
YZ: 以后我们将用什么语言?
NW: 那些由大软件公司提供的。

YZ:能不能向我们推荐几本书,包括您自己写的?
NW:从众多的出版物中仅挑几本是很因难的,不过我还是尝试选一下:
O.J. Dahl, E.W. Dijkstra, C.A.R. Hoare. Structured Programming《结构化编程》. Acad. Press, 1972. ISBN 0-12-200550-3
F.P. Brooks, Jr. The mythical man-month《人月神话》. Addison-Wesley, 1975. ISBN 0-201-00650-2.
M. Ben-Ari. Principles of concurrent programming《协同编程的几个原则》. Prentice-Hall, 1982. ISBN 0-13-701078-8.
R. Sedgewick. Algorithms《算法》. Addison-Wesley, 1983. ISBN 0-201-06672-6
R.H. Katz. Contemporary Logic Design 《当代逻辑设计》. Benjamin-Cummings Publ. 1994. ISBN 0-8053-2703-7
还有我写的三本:
N. Wirth and J. Gutknecht. Project Oberon《Oberon项目》. Addison-Wesley and ACM Press, 1992. ISBN 0-201-54428-8
N. Wirth. Digital Circuit Design《数字电路设计》. Springer, 1995. ISBN 3-540-58577-X
-- Compiler Construction《编译器构造》. Addison-Wesley, 1996. ISBN 0-201-40353-6
相关链接:
Wirth先生个人主页:
http://www.cs.inf.ethz.ch/~wirth/

人物印象:
对于Wirth先生,让我们看到的最深的东西是“执着”。他是瑞士IT界的拓荒者,是建立瑞士包括ETH的IT教育的先驱。是使瑞士IT扬名世界的最著名人物。
关于Niklaus Wirth先生,要写的远不止这些。要想深入地了解他,确实不是一件容易的事情。关于IT,他有许多影响深远的名言,我们引用的,仅仅是其中为数不多的几条,而这正是他执着思想的一种体现。
Wirth先生是一个执着地坚持自己思想的人。
关于学术,关于计算机、关于计算机语言,他有自己独到的见解和声音。C++之父Bjarne 笑着说:他的态度没有因为年龄的增大而有丝毫减弱。
而这正是他的价值的侧面体现。难怪在程序员中有一句经典笑话:欧洲人通常都将他的名字读得正确,读作“Nih-klaus Virt”;但美国人通常读成“Nickles Worth”近似的音。于是有人便说,欧洲人传址呼叫他,美国人传值呼叫他(或者说美国人按价值称呼他,而欧洲人称呼他的名字)。
上面我们用到的名言,和下面的,正是我们此次采访的内涵所在:
The abundance of powerful hardware seems to have made good software superfluous.
Programming languages must be defined without reference to any interpreting mechanism, such as a computer.
Programming languages are no languages, as they are not spoken; they are formal systems.
本文中文翻译得到美国惠普实验室Meng Lee女士无私帮助和修正,在此一并致谢。
2005年6月29日

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值