“大多数科学家是因为惧怕生活而成为科学家的。在科学中有所成就是非常诱人的,因为不必与人发生冲突,不必感受人际关系的痛苦,不必在世界上艰难前进就可以成就这些东西。脱离尘世是多么地诱人——这个有几分清净的世界,你可以全力施展你的才华,而没有任何痛苦。解决问题的痛苦和生活中的痛苦比起来是微不足道的。” –约翰.巴库斯
图灵与冯.诺依曼
计算机科学史上最重要的两个人当属阿兰.图灵和约翰.冯.诺依曼。
图灵在1936的论文“论可计算数及其在判定问题中的应用”(On Computable Numbers with an Application to the Entscheidungsproblem)中提出了图灵机,也就是通用计算机的概念。
1945年冯诺依曼在长达101页的“EDVAC草案”(The First Draft Report on the EDVAC)中,提出了存储程序概念和二进制原理。EDVAC方案明确奠定了新机器由五个部分组成,包括:运算器、逻辑控制装置、存储器、输入和输出设备,并描述了这五部分的职能和相互关系。报告中,诺伊曼对EDVAC中的两大设计思想作了进一步的论证,为计算机的设计树立了一座里程碑。
设计思想之一是二进制,他根据电子元件双稳工作的特点,建议在电子计算机中采用二进制。报告提到了二进制的优点,并预言,二进制的采用将大简化机器的逻辑线路。实践证明了诺伊曼预言的正确性。如今,逻辑代数的应用已成为设计电子计算机的重要手段,在EDVAC中采用的主要逻辑线路也一直沿用着,只是对实现逻辑线路的工程方法和逻辑电路的分析方法作了改进。
另一设计思想是存储程序。通过对ENIAC的考察,诺伊曼敏锐地抓住了它的最大弱点--没有真正的存储器。ENIAC只在20个暂存器,它的程序是外插型的,指令存储在计算机的其他电路中。这样,解题之前,必需先相好所需的全部指令,通过手工把相应的电路联通。这种准备工作要花几小时甚至几天时间,而计算本身只需几分钟。计算的高速与程序的手工存在着很大的矛盾。 针对这个问题,诺伊曼提出了程序内存的思想:把运算程序存在机器的存储器中,程序设计员只需要在存储器中寻找运算指令,机器就会自行计算,这样,就不必每个问题都重新编程,从而大大加快了运算进程。这一思想标志着自动运算的实现,标志着电子计算机的成熟,已成为电子计算机设计的基本原则。
1946年7,8月间,冯·诺依曼和戈尔德斯廷、勃克斯在EDVAC方案的基础上,为普林斯顿大学高级研究所研制IAS计算机时,又提出了一个更加完善的设计报告《电子计算机逻辑设计初探》.以上两份既有理论又有具体设计的文件,首次在全世界掀起了一股"计算机热",它们的综合设计思想,便是著名的"冯·诺依曼机",其中心就是有存储程序原则–指令和数据一起存储.这个概念被誉为’计算机发展史上的一个里程碑".它标志着电子计算机时代的真正开始,指导着以后的计算机设计。
图灵奖
国际计算机协会(ACM)于1966年设立,又叫“A.M. 图灵奖”,专门奖励那些对计算机事业作出重要贡献的个人。其名称取自计算机科学的先驱、英国科学家阿兰·图灵,这个奖设立目的之一是纪念这位科学家。获奖者的贡献必须是在计算机领域具有持久而重大的技术先进性的。大多数获奖者是计算机科学家。历届图灵奖得主如下:
1966年图灵奖获得者
美国科学家艾伦·佩利(Alan J.Perlis):ALGOL语言和计算机科学的“催生者”。获奖演说“算法系统的综合”(The Synthesis of Algorithmic System)。
1967年图灵奖获得者
英国科学家莫里斯·威尔克斯(Maurice V.Wilkes):世界上第一台存储程序式计算机EDSAC的研制者。获奖演说“计算机的过去和现在”(Computer Then and Now)。
1968年图灵奖获得者
美国科学家理查德·汉明(Richard W.Hamming):发明了纠错码——汉明码(Hamming Code)。获奖演说“对计算机科学的看法”(On Man’s View of Computer Science)。
1969年图灵奖获得者
美国科学家马文·明斯基(Marvin L.Minsky): “人工智能之父”,知识的框架理论(Frame Theory)创立者。获奖演说“计算机科学的形式和内容”(form and Content in Computer Science)。
1970年图灵奖获得者
英国科学家詹姆斯·威尔金森(James H.Wilkinson):数值分析专家和研制ACE计算机(第一台商业计算机)的功臣。获奖演说“一个数值分析家的若干意见”(Some Comments from a Numerical Analyst)。
1971年图灵奖获得者
美国科学家约翰·麦卡锡(John MacCarthy): “人工智能之父”,LISP语言的发明者。获奖演说“人工智能研究的现状”(Generality in Artificial Intelligence)。
1972年图灵奖获得者
荷兰科学家埃德斯加·狄克斯特拉(Edsgar W.Dijkstra): 最早指出“goto”语句有害,著名的最短路径Dijkstra算法,现代操作系统的奠基者之一。获奖演说“谦卑的程序员”(The Humble Programmer)。
1973年图灵奖获得者
美国科学家查尔斯·巴赫曼(Charles W.Bachman):网状数据库之父、推动与促成数据库标准的制订。获奖演说“作为导航员的程序员”(The Programmer as Navigator)。
1974年图灵奖获得者
美国科学家唐纳德·克努特(Donad E.Knuth): 经典巨著《计算机程序设计的艺术》(The Art of Computer Programming)的作者,排版软件的先驱(TEX)。获奖演说“作为一种艺术的计算机程序设计”(Computer programming as an Art)。
1975年图灵奖获得者
美国科学家赫伯特·西蒙(Herbert A.Simon)和艾伦· 纽厄尔(Allen Newell): 人工智能符号主义学派的创始人,提出了 “物理符号系统假说”。获奖演说“计算机科学作为按经验进行探索的科学:符号和搜索”(Computer Science as Empirical Inquiry: Symbols and Search)。
1976年图灵奖获得者
以色列科学家迈克尔·拉宾(Michael O.Rabin)和英国科学家达纳·斯科特(Dana S.Scott) :“非确定性有限状态自动机理论”的创立者。获奖演说“计算复杂性”(Complexity of Computations)和“逻辑与程序设计语言”(Logic and Programming Languages)。
1977年图灵奖获得者
美国科学家约翰·巴克斯(John W.Backus):Fortran语言以及“巴克斯范式(BNF)”的发明者。获奖演说“程序设计能从冯·诺依曼形式中解脱出来吗?函数式风格及其程序设计”(Can Programming Be Liberated From the von Neumann style? A Functional style and its Algebra of Programs)。
1978年图灵奖获得者
美国科学家罗伯特·弗洛伊德(Robert W.Floyd) :Algol60最早的编译器开发者、HeapSort算法、验证程序正确性的“前后断言法”的创始者 。获奖演说“程序设计的风范”(The Paradigms of Programming)。
1979年图灵奖获得者
加拿大科学家肯尼斯·艾佛森(Kenneth E.Iverson):交互式程序设计语言APL的发明人,程序设计语言的理论和实践的开创者。获奖演说“作为思维工具的符号”(Notation as a Tool of Thought)。
1980年图灵奖获得者
英国科学家查尔斯·霍尔(Charles A.R.Hoare):QuikSort算法、Case语句等的发明者,程序设计语言的公理化方法(公理语义学)的提出者。获奖演说“皇帝的旧衣”(The Emperor ‘s Old Clothes)。
1981年图灵奖获得者
美国科学家埃德加·科德(Edgar F.Codd):关系数据库之父。获奖演说“关系数据库:提高生产率的实际基础”(Relational Database: A Practical Foundation for Productivity)。
1982年图灵奖获得者
加拿大科学家史蒂芬·库克(Stephen A.Cook) :NP完全性理论的奠基人。获奖演说“计算复杂性综述”(An Overview of Computational Complexity)。
1983年图灵奖获得者
美国科学家肯尼斯·汤普森(Kenneth L.Thompson)和丹尼斯·里奇(Dennis M.Ritchie) :C语言以及Unix的发明者。获奖演说“对深信不疑的信任的反思”(Reflections on Trusting Trust)和“对软件研究的反思”(Reflections on Software Research) 。
1984年图灵奖获得者
瑞士科学家尼克劳斯·沃斯(Niklaus Wirth) :Pascal语义的发明者和结构化程序设计创始者。著名公式“程序 = 数据结构 + 算法”的提出者。获奖演说“从程序设计语言到计算机的建造”(Toward a Discipline of Real-Time Programming)。
1985年图灵奖获得者
美国科学家理查德·卡普(Richard M.Karp):加州大学伯克利分校数学系、计算机系和工业工程及运筹学系三个系的教授。在算法分析与设计、计算复杂性、随机算法等方面都有突出贡献。提出了解决推销员最佳路径问题的“分支限界法”。获奖演说“组合论、复杂性和随机性”(Combinatorics Complexity and Randomness)。
1986年图灵奖获得者
美国科学家约翰·霍普克洛夫特(John E.Hopcroft)和罗伯特·陶尔扬(Robert E.Tarjan):一对师生。数据结构以及算法分析和设计方面有突出贡献:双堆栈叠和深度优先算法。获奖演说“计算机科学:作为一门学科的出现”(Computer Science: The Emergence of a Discipline)和“算法设计”(Algorithmic Design)。
1987年图灵奖获得者
美国科学家约翰·科克(John Cocke) :在高性能计算和体系结构方面做出了突出贡献:世界上第一个“超级计算机”的设计者、RISC(精简指令集计算)概念的首创者。获奖演说“对科学处理器性能的探索”(The Search for Performance in Scientific Processors)。
1988年图灵奖获得者
美国科学家伊万·萨瑟兰(Ivan E.Sutherland):计算机图形学之父。获奖演说“Micropipelines” 。
1989年图灵奖获得者
加拿大科学家威廉·卡亨(William M.Kahan) :浮点计算的先驱:在浮点运算部件的设计和浮点运算标准的制订中做出了突出的贡献。没有发表获奖演说。
1990年图灵奖获得者
美国科学家费尔南多·考巴脱(Fernando J.Corbato) :实现了计算机分时系统,让多用户共享计算机资源。获奖演说“On Building Systems That Will Fail”。
1991年图灵奖获得者
英国科学家罗宾·米尔纳(Robin Milner):标准元语言(Meta Language)的开发者——用于描述、表达与验证其他程序设计语言的语言。获奖演说“交互的原理”(Elements of Interaction)。
1992年图灵奖获得者
美国科学家巴特勒·兰普森(Butler W.Lampson) :微软首席技术官,Alto系统(第一个个人计算机系统,首次实现了图形用户界面)的首席科学家。没有发表获奖演说。
1993年图灵奖获得者
美国科学家尤里斯·哈特马尼斯(Juris Hartmanis)和理查德·斯特恩斯(Richard E.Stearns) :计算复杂性理论的主要奠基人。获奖演说“论计算复杂性及计算机科学的性质”(On Computational Complexity and the Nature of Computer Science)和“是重新考虑时间这个问题的时候了”(It ‘s Time to Reconsider Time)。
1994年图灵奖获得者
美国科学家爱德华·费根鲍姆(Edward A.Feigenbaum)和劳伊·雷迪(Raj Reddy) :大型人工智能系统的开拓者。获奖演说“‘什么’怎样变成‘如何’”和“对可能的‘梦想’的梦想”(How the "What " Becomes the "How " Raj Reddy: To Dream The Possible Dream )。
1995年图灵奖获得者
美国科学家曼纽尔·布卢姆(Manuel Blum) :计算复杂性理论的主要奠基人。没有发表获奖演说。(香港城市大学计算机系教授。10月份刚来北大参加微软第四届“21世纪的计算”国际会议)
1996年图灵奖获得者
以色列科学家阿米尔·伯努利(Amir Pnueli) :将时态逻辑引入计算机科学:用于作为开发反应式系统和并发系统时进行规格说明和验证的工具。没有发表获奖演说 。
1997年图灵奖获得者
美国科学家道格拉斯·恩格尔巴特(Douglas Engelbart):鼠标的发明者以及超文本研究的先驱。没有发表获奖演说 。
1998年图灵奖获得者
美国科学家詹姆斯·格雷(James Gray) :在推动数据库技术——事务处理技术的发展中作出了重大的贡献。获奖演说“信息技术今后的目标”。
1999年图灵奖获得者
美国科学家弗雷德里克·布鲁克斯(Frederick P.Brooks) :大型计算机——IBM360系列计算机的总设计师和总指挥。没有发表获奖演说 。
2000年图灵奖获得者
华裔美国科学家姚期智(Andrew Chi-chih Yao):在计算理论方面做出了诸多“根本性的、意义重大的”贡献。这是首位(也是唯一一位)获得图灵奖的 华裔科学家。 10月份刚来北大参加微软第四届“21世纪的计算”国际会议。
2001年图灵奖获得者
挪威科学家奥尔-约翰·戴尔(Ole-Johan Dahl)和克利斯登·奈加特(Kristen Nygaard):面向对象技术的奠基人。因设计Simula I 和Simula 67语言对面向对象程序设计思想的出现做出奠基性贡献而获奖。
2002年图灵奖获得者
伦纳德·阿德勒曼(Leonard M. Adleman),罗纳德·里韦斯特(Ronald Linn Rivest)和阿迪·沙米尔(Adi Shamir):因他们在公钥密码技术方面的杰出贡献而获奖。公钥密码算法RSA的发明人。
2003年图灵奖获得者
HP的阿伦·凯(Alan Kay):面向对象语言SmallTalk的发明者、第一个具有图形用户界面的个人计算机Alto的开发者。
2004年图灵奖获得者
美国科学家温顿·瑟夫(Vinton Gray Cerf)和罗伯特·卡恩(Robert E. Kahn):因在互联网领域的先驱性贡献而获奖,TCP/IP协议的发明者。
2005年图灵奖获得者
丹麦科学家彼得·诺尔(Peter Naur):因在定义Algol 60程序设计语言方面的先驱性工作,对编译器设计的贡献、以及在计算机程序设计方面的贡献而获奖。
2006年图灵奖获得者
IBM的弗朗西斯·阿伦(Frances E Allen):因为在编译器优化的理论和实践方面做出的开创性贡献而获奖。她的工作奠定了现代优化编译器和自动并行化执行的基础。
2007年图灵奖获得者
Edmund M. Clarke,E Allen Emerson& Joseph Sifakis:表彰他们开发模型检测技术,并使之成为一个广泛应用在硬件和软件工业中非常有效的算法验证技术所做的奠基性贡献。
2008年图灵奖获得者
芭芭拉·利斯科夫(Barbara H Liskov):表彰她在提高计算机软件的可靠性、安全性和易用性方面的杰出贡献。
2009年图灵奖获得者
MS的查尔斯·萨克尔(Charles P. Thacker):表彰他对第一台现代个人计算机Xerox PARC Alto的先驱性设计与实现,还有在局域网(包括以太网)、多处理器工作站、窥探高速缓存一致性协议和平板PC等方面的重大发明和贡献。
2010年图灵奖获得者
哈佛大学的Les Valiant:表彰其在计算理论方面,特别是机器学习领域中的概率近似正确理论的开创性贡献,枚举和计算代数复杂性,并行和分布式系统方面的其他贡献。
参考资料:
http://wenku.baidu.com/view/c70ca3270722192e4536f619.html 图灵奖得主
http://www.jdl.ac.cn/turing/index.asp#1 图灵奖得主及获奖演说下载