Tony Hoare
Template:Short description Script error: No such module "For". Template:Use British English Script error: No such module "Unsubst". Script error: No such module "Template wrapper".Script error: No such module "Check for clobbered parameters".
Sir Charles Antony Richard Hoare (Script error: No such module "IPAc-en". Script error: No such module "Respell".; 11 January 1934 – 5 March 2026), known as Sir Tony Hoare or C. A. R. Hoare, was a British computer scientist who made foundational contributions to programming languages, algorithms, operating systems, formal verification, and concurrent computing.[1][2] His work earned him the 1980 ACM Turing Award, usually regarded as the highest distinction in computer science.[3][4]
Hoare developed the sorting algorithm quicksort in 1959–1960.[5][6] He developed Hoare logic, an axiomatic basis for verifying program correctness.[7] In the semantics of concurrency, he introduced the formal language communicating sequential processes (CSP) to specify the interactions of concurrent processes, and along with Edsger Dijkstra, formulated the dining philosophers problem.[8][9][10][11][12] From 1977 on, he held positions at the University of Oxford as well as at Microsoft Research in Cambridge.
Early life and education
Tony Hoare was born in Colombo, Ceylon (now Sri Lanka) on 11 January 1934,[3] to British parents; his father was a colonial civil servant and his mother was the daughter of a tea planter. Hoare was privately educated in England at the Dragon School in Oxford and the King's School in Canterbury.[13] He then studied Classics and Philosophy ("Greats") at the University of Oxford as an undergraduate student at Merton College, Oxford.[14] On graduating in 1956 he did 18 months National Service in the Royal Navy,[14] where he learned Russian.[15] He returned to the University of Oxford in 1958 to study for a postgraduate certificate in statistics,[14] and it was here that he began computer programming, having been taught Autocode on the Ferranti Mercury by Leslie Fox.[16] He then went to Moscow State University as a British Council exchange student,[14] where he studied machine translation supervised by Andrey Kolmogorov.[15]
Research and career
In 1960, Hoare left the Soviet Union and began working at Elliott Brothers Ltd,[14] a small computer manufacturing firm located in London. There, he implemented a compiler for the language ALGOL 60 and began developing major algorithms.[17]
Hoare was involved with developing international standards in programming and informatics, as a member of the International Federation for Information Processing (IFIP) Working Group 2.1 on Algorithmic Languages and Calculi,[18] which specified, maintains, and supports the languages ALGOL 60 and ALGOL 68.[19]
Hoare became the Professor of Computing Science at the Queen's University of Belfast in 1968, and in 1977 returned to Oxford as the Professor of Computing to lead the Programming Research Group in the Oxford University Computing Laboratory (now Department of Computer Science, University of Oxford), following the death of Christopher Strachey. He became the first Christopher Strachey Professor of Computing on its establishment in 1988 until his retirement at Oxford in 2000.[20] He was an Emeritus Professor there, and also a principal researcher at Microsoft Research in Cambridge, England.[21][22][23]
Hoare's most significant work has been in the following areas: his sorting and selection algorithm (Quicksort and Quickselect), Hoare logic, the formal language communicating sequential processes (CSP) used to specify the interactions between concurrent processes (and implemented in various programming languages such as occam), structuring computer operating systems using the monitor concept, and the axiomatic specification of programming languages.[24][3]
Speaking at a software conference in 2009, Hoare apologised for inventing the null reference:[25][26]
<templatestyles src="Template:Blockquote/styles.css" />
I call it my billion-dollar mistake. It was the invention of the null reference in 1965. At that time, I was designing the first comprehensive type system for references in an object-oriented language (ALGOL W). My goal was to ensure that all use of references should be absolutely safe, with checking performed automatically by the compiler. But I couldn't resist the temptation to put in a null reference, simply because it was so easy to implement. This has led to innumerable errors, vulnerabilities, and system crashes, which have probably caused a billion dollars of pain and damage in the last forty years.[27]
Script error: No such module "Check for unknown parameters".
For many years under his leadership, Hoare's Oxford department worked on formal specification languages such as CSP and the Z notation. These did not achieve the expected take-up by industry, and in 1995, Hoare was led to reflect upon the original assumptions:[28]
A commemorative article of reminiscences was written in tribute to Hoare for his 90th birthday.[29]
Personal life and death
In 1962, Hoare married Jill Pym, a member of his research team, with whom he had three children.[30] He died on 5 March 2026, aged 92.[31][32][33][6][34]
Awards and honours
<templatestyles src="Div col/styles.css"/>
- ACM Programming Systems and Languages Paper Award (1973)[35] for the paper "Proof of correctness of data representations"[36]
- Distinguished Fellow of the British Computer Society (1978)[37]
- Turing Award for "fundamental contributions to the definition and design of programming languages". The award was presented to him at the ACM Annual Conference in Nashville, Tennessee, on 27 October 1980, by Walter Carlson, chairman of the Awards committee. A transcript of Hoare's speech[38] was published in Communications of the ACM.[17]
- Harry H. Goode Memorial Award (1981)[39]
- Fellow of the Royal Society (1982)[40]
- Honorary Doctorate of Science by the Queen's University Belfast (1987)[37]
- Honorary Doctorate of Science, from the University of Bath (1993)[41]
- Honorary Fellow, Kellogg College, Oxford (1998)[42][43]
- Knighted for services to education and computer science (2000)[44]
- Kyoto Prize for Information science (2000)[45]
- Fellow[46] of the Royal Academy of Engineering[46] (2005)
- Member of the National Academy of Engineering (2006)[47]
- Computer History Museum (CHM) in Mountain View, California Fellow of the Museum "for development of the Quicksort algorithm and for lifelong contributions to the theory of programming languages" (2006)[48]
- Honorary Doctorate from Heriot-Watt University (2007)[49]
- Honorary Doctorate of Science from the Department of Informatics of the Athens University of Economics and Business (AUEB) (2007)[50]
- Friedrich L. Bauer Prize, Technical University of Munich (2007)[51]
- SIGPLAN Programming Languages Achievement Award (2011)[52]
- IEEE John von Neumann Medal (2011)[53]
- Honorary Doctorate, University of Warsaw (2012)[54]
- Honorary Doctorate, Complutense University of Madrid (2013)[55]
- Royal Medal of the Royal Society (2023)[56]
Books
- Script error: No such module "citation/CS1".
- Hoare, C. A. R. (1985). Communicating Sequential Processes. Prentice Hall International Series in Computer Science. Template:ISBN (hardback) or Template:ISBN (paperback). (Available online at http://www.usingcsp.com/ Script error: No such module "webarchive". in PDF format.)
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
References
<templatestyles src="Reflist/styles.css" />
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ a b c Script error: No such module "citation/CS1".
- ↑ Script error: No such module "Citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ a b Script error: No such module "citation/CS1". (14 minutes 50 seconds into the programme, interview with Bill Roscoe.)
- ↑ Script error: No such module "Citation/CS1".
- ↑ Template:ACM Portal
- ↑ Script error: No such module "String". C. A. R. Hoare at DBLP Bibliography ServerTemplate:EditAtWikidata
- ↑ Script error: No such module "Citation/CS1".
- ↑ Script error: No such module "Citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ a b c d e Script error: No such module "citation/CS1".
- ↑ a b Script error: No such module "Citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ a b Script error: No such module "Citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Oral history interview with C. A. R. Hoare at Charles Babbage Institute, University of Minnesota, Minneapolis.
- ↑ The original article on monitors: Script error: No such module "Citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Template:Cite newsletter
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "Citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "Citation/CS1".
- ↑ a b Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".Script error: No such module "Unsubst".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "Citation/CS1".Script error: No such module "London Gazette util".
- ↑ Script error: No such module "citation/CS1".
- ↑ a b Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
Script error: No such module "Check for unknown parameters".
Script error: No such module "Side box". Script error: No such module "Side box".
Template:Hoare Template:Timelines of computing Script error: No such module "Navbox". Template:ALGOL programming Script error: No such module "Navbox". Script error: No such module "Authority control".
- Pages with script errors
- Pages containing London Gazette template with parameter supp set to y
- Tony Hoare
- 1934 births
- 2026 deaths
- Academics of Queen's University Belfast
- Alumni of Merton College, Oxford
- British computer scientists
- British expatriates in Sri Lanka
- British expatriates in the Soviet Union
- British fellows of the Royal Society
- Computer science writers
- Fellows of Merton College, Oxford
- Fellows of the British Computer Society
- Fellows of the Royal Academy of Engineering
- Fellows of Wolfson College, Oxford
- International members of the National Academy of Sciences
- Formal methods people
- History of computing in the United Kingdom
- Knights Bachelor
- Kyoto laureates in Advanced Technology
- Members of the Department of Computer Science, University of Oxford
- Microsoft employees
- Moscow State University alumni
- People educated at The Dragon School
- People educated at The King's School, Canterbury
- Programming language researchers
- Scientists from Colombo
- Turing Award laureates