計算機領域的爵士——托尼·霍爾(Tony Hoare)(1934年1月11日出生),英文全稱Sir Charles Antony Richard Hoare,常被稱為Tony Hoare或者C. A. R. Hoare,1934年出生於英國,1959年博士畢業於俄羅斯莫斯科國立大學,獲得語言機器翻譯專業學士學位。
基本介紹
- 中文名:托尼·霍爾
- 外文名:Tony Hoare
- 別名:C.A.R.Hoare
- 國籍:英國
- 出生地:英國
- 出生日期:1934年1月11日
- 職業:計算機專家
- 畢業院校:俄羅斯莫斯科國立大學
- 主要成就:發明快速排序算法
人物簡介,早期成果,開創性成果,獲獎經歷,
人物簡介
1960年發布了使他聞名於世的快速排序算法(Quick Sort),這個算法也是當前世界上使用最廣泛的算法之一。Tony Hoare在取得博士學位後,就職於Elliott Brothers,領導了Algol 60第一個商用編譯器的設計與開發,由於其出色的成績,最終成為該公司首席科學家。
從1977年開始,Tony Hoare博士任職於牛津大學,投身於計算系統的精確性的研究、設計及開發。因其對Algol 60程式設計語言理論、互動式系統及APL的貢獻,1980年被美國計算機協會授予“圖靈獎”。1999年從牛津大學退休後,Tony Hoare博士被微軟劍橋研究院聘請擔任高級程式設計師,從事微軟劍橋研究院研究生成果的工業化套用的工作,以及協助其它研究人員進行服務於軟體產業及用戶的長期基礎研究項目。2000年Hoare因為其在計算機科學與教育上做出的貢獻被封為爵士。
他的獲獎記錄包括:於1980年獲得美國計算機學會(ACM)設立的計算機界最高獎——圖靈獎,2000年獲得日本稻盛財團設立的國際大獎——京都獎(尖端技術領域)。同年,英國女王伊莉莎白二世授予Tony Hoare爵士爵位,以表彰他對計算機科學所做出的巨大貢獻。
早期成果
1960年,霍爾進入Elliott兄弟倫敦公司,成為一名程式設計師。他接到的第一個任務,就是為Elliott 803計算機編寫一個庫程式,實現新發明出來的Shell排序算法。在此過程中,霍爾對不斷提升代碼的效率著了迷。他不僅很好地完成了任務,還發明了一種新算法,比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中表示,如何證明程式的正確性仍然是計算機科學中有待解決的重大課題。