托尼·霍尔
英国计算机专家
计算机领域的爵士——托尼·霍尔(Tony Hoare,1934年1月11日-),英文全称Sir Charles Antony Richard Hoare,常被称为Tony Hoare或者C. A. R. Hoare,1934年出生于英国,1959年博士毕业于俄罗斯俄罗斯国立大学,获得语言机器翻译专业学士
人物简介
托尼·霍尔是一位英国计算机科学家,他对编程语言、算法、操作系统、形式验证和并发计算做出了基础性贡献。1960年发布了使他闻名于世的快速排序算法(Quick Sort),这个算法也是当前世界上使用最广泛的算法之一。霍尔在取得博士学位后,就职于Elliott Brothers,领导了Algol 60第一个商用编译器的设计与开发,由于其出色的成绩,最终成为该公司首席科学家。从1977年开始,霍尔博士任职于牛津大学,投身于计算系统的精确性的研究、设计及开发。因其对Algol 60程序设计语言理论、互动式系统及APL语言的贡献,1980年被美国计算机协会授予“图灵奖”。1999年从牛津大学退休后,霍尔博士被微软剑桥研究院聘请担任高级程序员,从事微软剑桥研究院研究生成果的工业化应用的工作,以及协助其它研究人员进行服务于软件产业及用户的长期基础研究项目。2000年Hoare因为其在计算机科学与教育上做出的贡献被封为爵士。他的获奖记录包括:于1980年获得美国计算机学会(ACM)设立的计算机界最高奖——图灵奖,2000年获得日本稻盛财团设立的国际大奖——京都奖(尖端技术领域)。同年,伊丽莎白·亚历山德拉·玛丽·温莎授予Tony Hoare爵士爵位,以表彰他对计算机科学所做出的巨大贡献。
早期成果
霍尔出生在锡兰科伦坡(现斯里兰卡),父母是英国人;他的父亲是殖民地公务员,母亲是茶园种植者的女儿。霍尔在英国的牛津龙学校和坎特伯雷国王学校接受教育。然后他在牛津市的默顿学院学习古典和哲学(“Greats”)。1956年毕业后,他在皇家海军服役18个月,在那里学习了俄语。1958年他回到牛津大学攻读统计学的研究生证书,也是在这里他开始了计算机编程,由莱斯利·福克斯教授的Ferranti Mercury上的Autocode。然后他作为英国理事会交换学生前往莫斯科国立大学,在那里在安德烈·科尔莫戈洛夫的指导下学习机器翻译。
1960年,霍尔进入Elliott兄弟伦敦公司,成为一名程序员。他接到的第一个任务,就是为Elliott 803计算机编写一个库程序,实现新发明出来的壳层排序算法。在此过程中,霍尔对不断提升代码的效率着了迷。他不仅很好地完成了任务,还发明了一种新算法,比Shell还快,而且不会多耗费太多空间。这就是后来闻名于世的快速排序算法Quicksort。值得一提的是,发明该算法时他只有26岁。
随后,霍尔又接到了新任务——在公司新机型Elliott 503上实现Algol 60语言。Elliott Algol的开发非常顺利,大获成功,霍尔本人也从此受到国际学术界的重视。当然,对他来说,另一件事情更为重要,他和项目中另一位当时比自己更专业的女程序员Jill Pym相识相知,并最后结婚。
开创性成果
霍尔在1968年成为贝尔法斯特女王大学的计算科学教授,并于1977年回到牛津市担任计算机教授,领导牛津大学计算机实验室(现为牛津大学计算机科学系)的编程研究小组,接替克里斯托弗·斯特雷奇去世后的职位。他现在是该校的名誉教授,也是英格兰剑桥微软研究院的主要研究员。他全身心地投入到计算机科学理论的研究中,作出了许多创造性的重大贡献,尤其是程序设计理论和操作系统设计等方面,目前许多广泛流行与应用着的概念都源于霍尔的工作。
1969年10月,霍尔在Communications of the ACM上发表了有里程碑意义的论文“计算机程序设计的公理基础”。在这篇论文中,霍尔提出了公理语义学,这是继1963年用递归函数定义程序,以及在1967年基于程序流程图的归纳断言法以后,程序逻辑研究中所取得的又一个重大技术进展。
20世纪70年代后期,霍尔深入研究并实现了程序设计语言CSP,后来成为著名的并行处理语言OCCAM的基础。80年代中期,霍尔和S. Brools等人合作,提出了“CSP理论”,开创了用代数方法研究通信并发系统的先河,形成了“进程代数”这一新的研究领域。1995年他还和我国学者、中科院院士何积丰合作,提出了统一程序设计理论。
霍尔发表过许多高水平的论著。ACM在1983年评选出最近25年中发表在Communications of the ACM上的有里程碑式意义的25篇经典论文,只有2名学者各有2篇论文入选,霍尔就是其中之一。1972年他与O.J. Dahl和E. W. Dijkstra三位图灵奖得主合著的Structured Programming一书,更是难以逾越的高峰。
获奖经历
霍尔获奖无数,1980年获得美国计算机学会(ACM)设立的计算机界最高奖——图灵奖;1981年获得AFIPS的Harry Goode奖;1985年获得英国IEE的法拉第奖章;1990年被IEEE授予计算机先驱奖。2000年获得日本稻盛财团设立的国际大奖——京都奖(尖端技术领域)。
2009年3月他在Qcon技术会议上发表了题为“Null引用:代价十亿美元的错误”的演讲,回忆自己1965年设计第一个全面的类型系统时,未能抵御住诱惑,加入了Null引用,仅仅是因为实现起来非常容易。它后来成为许多程序设计语言的标准特性,导致了数不清的错误、漏洞和系统崩溃,可能在之后40年中造成了十亿美元的损失。他在同月出版Communications of the ACM中表示,如何证明程序的正确性仍然是计算机科学中有待解决的重大课题。
2021年1月14日,托尼·霍尔入选ACM Fellow。
除了上述获奖经历,霍尔还获得了多项荣誉和奖项,包括:
- ACM编程系统和语言论文奖(1973年)获得“数据表示正确性证明”论文奖
- 英国计算机学会杰出会员(1978年)
- 英国皇家学会会士(1982年)
- 贝尔法斯特女王大学荣誉理学博士(1987年)
- 巴斯大学荣誉理学博士(1993年)
- 牛津大学凯洛格学院荣誉会员(1998年)
- 信息科学京都奖(2000年)
- 英国皇家工程院院士(2005年)
- 美国国家工程院院士(2006年),以表彰其在算法、操作系统和编程语言领域对计算机科学的基本贡献。
- 加利福尼亚州山景城计算机历史博物馆(CHM)博物馆院士(2006年),以表彰其对快速排序算法的发展和对编程语言理论的终身贡献。
- 赫里奥特-赫瑞瓦特大学荣誉理学博士(2007年)
- 雅典经济和商业大学信息学系荣誉理学博士(2007年)
- 慕尼黑工业大学弗里德里希·L·鲍尔奖(2007年)
- SIGPLAN编程语言成就奖(2011年)
- IEEE约翰·冯·诺依曼奖(2011年)
- 华沙大学荣誉博士(2012年)
- 马德里大学荣誉博士(2013年)
- 英国皇家学会皇家奖章(2023年)
书籍
霍尔的著作对计算机科学领域产生了深远的影响,其中包括:
- 达尔,O.-J.;戴克斯特拉,E. W.;霍尔,C. A. R.(1972年)。《结构化编程》。学术出版社。ISBN 978-0-12-200550-3。OCLC 23937947。
- C. A. R. 霍尔(1985年)。《通信顺序进程》。Prentice Hall国际计算机科学系列。ISBN 978-0131532717(精装)或ISBN 978-0131532892(平装)。(可在http://www.usingcsp.com/以PDF格式在线获取。)
- 霍尔,C. A. R.(1989年)。C. B.,琼斯(编)。《计算科学论文集》。Prentice Hall国际计算机科学系列。ISBN 978-0-13-284027-9。
- 霍尔,C. A. R.;戈登,M. J. C.(1992年)。《机械化推理和硬件设计》。Prentice Hall国际计算机科学系列。ISBN 978-0-13-572405-7。OCLC 25712842。
- 霍尔,C. A. R.;何继峰(1998年)。《编程的统一理论》。Prentice Hall国际计算机科学系列。ISBN 978-0-13-458761-5。OCLC 38199961。
参考资料
目录
概述
人物简介
早期成果
开创性成果
获奖经历
书籍
参考资料