1.伟大的智者——Donald E.Knuth(高纳德E.克努斯)
Donald E. Knuth生于1938年,是算法和程序设计技术的先驱者。他被公认是美国最聪明的人之一。当年他上大学的时候,常编写各种各样的编译器来挣外快。只要是他参加的编程比赛,第一名非他莫属。他也是世上少有的编程达到40年以上的程序员之一。
他除了是技术与科学上的泰斗外,也是一位写作高手,技术文章堪称一绝。他的文章文风细腻,讲解透彻,思路清晰而且没有学究气,其经典著作《计算机程序设计艺术》被誉为算法中的圣经。在该著作中,像KMP和LR(K)等令人不可思议的算法比比皆是。
Donald E. Knuth一生中获得的奖项和荣誉不计其数,包括图灵奖、美国国家科学金奖、美国数学学会斯蒂尔奖(AMS Steel Prize),及发明先进技术荣获的极受尊重的京都奖(KyotoPrize)等。他写过19部书和160余篇论文,每一篇都有深远的影响。
Donald E. Knuth维基百科链接:http://en.wikipedia.org/wiki/Donald_E_Knuth。
2.首席算法官——Udi Manber(乌迪·曼博)
Udi Manber是著名的美国计算机科学家。他主要研究WWW的应用程序、搜索以及隐藏在这背后的算法设计,并与其他人共同开发了Agrep、Glimpse和Harvest等UNIX上的搜索软件。1998年,Udi成为了Yahoo的首席科学家。2002年,Amazon创造性地给了Udi“首席算法官”的职位,和Udi为Amazon的Search Inside the Book搜索项目所做的工作相得益彰。其著作Introduction to Algorithms—A Creative Approach被大家称道。
Udi Manber提出了一种搜索引擎质量评估标准UDI test。其主要思想是:评价搜索引擎的质量主要看用户的体验,由普通用户在没有任何暗示的情况下对两个搜索引擎的结果进行等级评分,并且在这种评分中引入用户信心指数,最后通过对大量评分的统计来得到两个搜索引擎的质量评分。用来做UDI test的关键词一般需要庞大的数量,这些关键词通常从检索日志中随机提取得到,非常具有代表性。UDI test的优点在于在评测搜索引擎质量时引入用户体验作为重要的评测参数,使得测试效果更加有效。
Udi Manber维基百科链接:http://en.wikipedia.org/wiki/Udi_Manber。
3.谦逊的长者——Edsger Wybe Dijkstra(艾兹格·W.迪科斯彻)
E.W.Dijkstra(1930—2002)与D.E.Knuth并称为这个时代最伟大的计算机科学家。他在算法、操作系统、分布式处理等许多方面都有极高深的造诣。除了科学研究之外,他最喜欢教学,被称作“一天教学24小时”的教授。
他在祖国荷兰获得数据和物理学学士、理论物理博士学位。2000年退休前,一直是美国Texas大学的计算机科学和数学教授。1959年,他发现了图论中的最短路径算法(Dijkstra算法),并因此而闻名于世;他提出了“goto有害论”和信号量及PV原语,并解决了“哲学家聚餐”问题,同时设计开发了THE操作系统。1972年,他因ALGOL第二代编程语言而获得图灵奖。他在获得图灵奖时的演讲中仍然称自己不过是一个谦逊普通的程序员,其经典著作Go To Statement Considered Harmful(EWD 215)至今仍被人们广为传颂。
Edsger Wybe Dijkstra经典言论:
·编程的艺术就是处理复杂性的艺术。
·优秀的程序员很清楚自己的能力是有限的,所以他对待编程任务的态度是完全谦卑的,特别是,他们会像逃避瘟疫那样逃避“聪明的技巧”。
·计算机科学是应用数学最难的一个分支,所以如果你是一位蹩脚的数学家,最好留在原地,继续当你的数学家。
·我们所使用的工具深刻地影响我们的思考习惯,从而也影响了我们的思考能力。
·实际上如果一个程序员先学了BASIC,那就很难教会他好的编程技术了,因为作为一个可能的程序员,他们的神经已经错乱了,而且无法康复。
·就语言的使用问题,根本不可能用一把钝斧子削好铅笔,而换成十把钝斧子会使事情变成大灾难。
·简单是可靠的先决条件。
Edsger Wybe Dijkstra维基百科链接:http://en.wikipedia.org/wiki/Edsger_Wybe_Dijkstra。
4.运筹学大师——George Dantzig(乔治·丹茨格)
美国数学家George Bernard Dantzig生于1914年11月8日,于2005年5月13日逝世。1947年,33岁的Dantzig (丹茨格)提出了解决一种最优化问题的单纯形法,该方法奠定了线性规划的基础,使得经济学、环境科学、统计学应用等学科获得了迅速发展。Dantzig也因而被誉为“线性规划之父”。
后来,Dantzig在运筹学领域中的建树极高,获得了包括“冯·诺伊曼理论奖”在内的诸多奖项。他在Linear programming and extensions一书中研究了线性编程模型,为计算机语言的发展做出了不可磨灭的贡献。
George Dantzig维基百科链接:http://en.wikipedia.org/wiki/George_Dantzig。
5.推动时代前进的人——James Cooley(詹姆斯·库利)
James Cooley生于1926年,美国数学家,哥伦比亚大学的数学博士。他和普林斯顿大学的John Tukey,AT&T贝尔实验室共同创造的快速傅立叶变换(FFT)意义极其重大。FFT的数学意义不光在于使大家明白了傅立叶(Fourier)变换计算起来是多么容易,而且使得数字信号处理技术取得了突破性的进展,为现在的网络通信,图形图像处理等领域的发展与前进奠定了基础。Fourier变换的意义在于将电能变为了工业的命脉,而FFT的意义更是在于它推动了整个社会信息化的进程。
在1992年退休之前,James Cooley一直在IBM研究中心从事数字信号处理的研究,同时他还是IEEE数字信号处理委员会的成员。1980年获得ASSP's Meritorious Service Award,1984年获得ASSP Society Award以及IEEE Centennial Medal。
James Cooley维基百科链接:http://en.wikipedia.org/wiki/James_Cooley。
6.FORTRAN之父——John W. Backus(约翰·巴库斯)
早年,John W. Backus在宾夕法尼亚州著名的Hill中学求学时,讨厌学习,成绩一塌糊涂。18岁时,他在父亲的要求下到弗吉尼亚大学学习化学,但他每周只上一堂音乐欣赏课,最终被学校开除;随后参过军、在哈弗福德医学院学习,度过了一段混沌岁月。战后John W. Backus进入纽约哥伦比亚大学学习数学,在1950年毕业后进入IBM计算机中心,成为了一名程序员。
在IBM,John W. Backus的才华得到了施展,发明了人类历史上第一个高级语言——FORTRAN。接着,又提出了规范描述编程语言——巴克斯-诺尔范式(BNF)。1977年,美国计算机协会于授予John W. Backus图灵奖,他在颁奖典礼上发表的演说题目是Can Programming Be Liberated From the von Neumann Style(程序设计能脱离冯诺依曼风格吗?)。
John W. Backus维基百科链接:http://en.wikipedia.org/wiki/John_Backus。
7.实践探索先锋——Jon Bentley(乔恩·本特利)
Jon Bentley 于1974年获得了斯坦福大学的学士学位,1976年获得北卡罗莱纳大学的硕士和博士学位。毕业后在卡耐基梅隆大学教授了6年计算机科学课程,1982年进入贝尔实验室,2001年退休后加入了现在的Avaya实验室。他还曾作为访问学者在西点军校和普林斯顿大学工作。他的研究领域包括编程技术、算法设计、软件工具和界面设计等。
Jon Bentley写作过3本编程书籍,其中最著名的就是涵盖从算法理论到软件工程各种主题的Programming Pearls(编程珠玑)。在这本书中,Jon Bentley从工程实现的角度出发,为那些艰难的问题提供了独特而巧妙的解决方案,这些解决方案犹如一颗颗闪闪发亮的珍珠。
Jon Bentley维基百科链接:http://en.wikipedia.org/wiki/Jon_Bentley。
8.Pascal之父——Niklaus Wirth(尼克劳斯·威茨)
Niklaus Wirth于1934年出生于瑞士,1963年在加州大学伯克利分校取得博士学位。其后直接被以高门槛著称的斯坦福大学聘到刚成立的计算机科学系工作。在斯坦福大学成功地开发出Algol W以及PL360后,于1967年回到祖国瑞士,第二年在他的母校苏黎世工学院创建与实现了Pascal语言。Pascal语言是当时最流行的语言,他的学生Philipe Kahn和Anders Hejlsberg创办的Borland公司靠Turbo Pascal起家,并很快将Borland发展成为全球最大的开发公司,这一切都归功于Pascal语言的魅力。Pascal已经影响了整整几代程序员,Niklaus Wirth的思想还将继续为现在和以后的程序员指引前进的方向。
1971年,Niklaus Wirth基于其开发程序设计语言和编程的实践经验,在4月份的Communications of ACM上发表了论文“通过逐步求精方式开发程序”(Program Development by Stepwise Refinement),首次提出了“结构化程序设计”(structure programming)的概念。20世纪70年代中期,为适应并发程序设计的需要,Niklaus Wirth又成功开发了一个获得广泛应用的语言Modula。1984年,Niklaus Wirth获得了图灵奖,提出了著名的公式“算法+数据结构=程序”。
Nicklaus Wirth维基百科链接:http://en.wikipedia.org/wiki/Niklaus_Wirth。
9.算法的讲解者——Robert Sedgewick(罗伯特·赛奇威克)
Robert Sedgewick在斯坦福大学获得博士学位,是普林斯顿大学的计算机科学教授,还是Adobe Systems的一名主管,也曾作为访问学者在Xerox PARC、IDA和INRIA工作。其著作包括Algorithm in C、Algorithm in C++、Algorithm in Java等系列书籍。
目前Robert正在研究算法设计、数据结构、算法分析等方面的基础理论。他善于通过数学方法评估和预测算法性能,设法发现算法和数据结构的通用机制,如使用逼近方法寻找更快速更高效的算法。另外,他还将算法和图形学结合起来,如使用可视化方法评估算法效率,算法的图形化模拟,用于出版物的高质量算法表现方法等。
Robert Sedgewick维基百科链接:http://en.wikipedia.org/wiki/Robert_Sedgewick_(computer_scientist)。
10.计算机领域的爵士——Tony Hoare(东尼·霍尔)
Tony Hoare 于1934年出生于英国,1959年毕业于俄罗斯莫斯科国立大学,获得语言机器翻译专业博士学位。1960年发布了使他闻名于世的快速排序算法(Quick Sort),这个算法也是当前世界上使用最广泛的算法之一。
Tony Hoare在取得博士学位后,就职于Elliott Brothers,领导了Algol 60第一个商用编译器的设计与开发,由于其出色的成绩,最终成为该公司首席科学家。从1977年开始,Tony Hoare任职于牛津大学,投身于计算系统的精确性的研究、设计及开发。因其对Algol 60程序设计语言理论、互动式系统及APL的贡献,1980年被美国计算机协会授予“图灵奖”。1999年在牛津大学退休后,Tony Hoare被微软剑桥研究院聘请担任高级程序员,从事微软剑桥研究院研究生成果的工业化应用的工作,以及协助其他研究人员进行服务于软件产业及用户的长期基础研究项目。2000年因为其在计算机科学与教育上做出的贡献被封为爵士。
Tony Hoare维基百科链接:http://en.wikipedia.org/wiki/Tony_Hoare。