Sir Charles Antony Richard Hoare ( / h ɔːr / HOR ; 11 January 1934 – 5 March 2026), also known as Tony Hoare or C. A. R. Hoare, was a British computer scientist. He made important work in programming languages, algorithms, operating systems, checking if programs work correctly, and computing that happens at the same time. His contributions earned him the 1980 ACM Turing Award, which is considered the highest honor in computer science.
In 1959–1960, he created the sorting algorithm quicksort. He also developed Hoare logic, a method for verifying program correctness. In the study of concurrent processes, he introduced the formal language communicating sequential processes (CSP) to describe how processes interact. Along with Edsger Dijkstra, he created the dining philosophers problem. From 1977 onward, he held positions at the University of Oxford and at Microsoft Research in Cambridge.
Early life and education
Tony Hoare was born on January 11, 1934, in Colombo, Ceylon (now Sri Lanka), to British parents. His father worked as a colonial civil servant, and his mother was the daughter of a tea planter. Hoare received his early education in England at the Dragon School in Oxford and the King's School in Canterbury. He later studied Classics and Philosophy ("Greats") at Merton College, Oxford. After graduating in 1956, he served 18 months in the Royal Navy as part of his military service, where he learned Russian. In 1958, he returned to the University of Oxford to earn a postgraduate certificate in statistics. It was during this time that he began learning computer programming, having been taught Autocode on the Ferranti Mercury by Leslie Fox. Later, he traveled to Moscow State University as a British Council exchange student, where he studied machine translation under Andrey Kolmogorov.
Research and career
In 1960, Hoare left the Soviet Union and started working at Elliott Brothers Ltd, a small computer company in London. There, he created a tool to translate code for the language ALGOL 60 and began designing important algorithms.
Hoare helped create international standards for programming and computer science as a member of the International Federation for Information Processing (IFIP) Working Group 2.1 on Algorithmic Languages and Calculi. This group defined, maintained, and supported the languages ALGOL 60 and ALGOL 68.
In 1968, Hoare became a Professor of Computing Science at Queen's University of Belfast. In 1977, he returned to Oxford as a Professor of Computing to lead the Programming Research Group in the Oxford University Computing Laboratory (now the Department of Computer Science at the University of Oxford), following the death of Christopher Strachey. He became the first Christopher Strachey Professor of Computing when the position was created in 1988 and held this role until his retirement in 2000. After retiring, he remained an Emeritus Professor at Oxford and also worked as a principal researcher at Microsoft Research in Cambridge, England.
Hoare’s most important contributions include his sorting and selection algorithm (Quicksort and Quickselect), Hoare logic, the formal language communicating sequential processes (CSP) used to describe how computer processes interact (and used in programming languages like occam), organizing computer operating systems with the monitor concept, and creating rules to define programming languages.
At a software conference in 2009, Hoare said he was sorry for creating the null reference.
During his time leading the Oxford department, Hoare’s team worked on formal specification languages like CSP and the Z notation. These tools did not become widely used in industry, and in 1995, Hoare reconsidered the original ideas behind them.
An article about his life and achievements was written to honor him on his 90th birthday.
Personal life and death
In 1962, Hoare married Jill Pym, who worked with him on research projects. They had three children together. Hoare passed away on March 5, 2026, when he was 92 years old.
Books
- Dahl, O.-J., Dijkstra, E. W., and Hoare, C. A. R. (1972). Structured Programming. Academic Press. ISBN 978-0-12-200550-3. OCLC 23937947.
- Hoare, C. A. R. (1985). Communicating Sequential Processes. Prentice Hall International Series in Computer Science. ISBN 978-0131532717 (hardback) or ISBN 978-0131532892 (paperback). Available online at http://www.usingcsp.com/ Archived on 1 February 2021 by the Wayback Machine and available in PDF format.
- Hoare, C. A. R. (1989). Essays in Computing Science, edited by C. B. Jones. Prentice Hall International Series in Computer Science. ISBN 978-0-13-284027-9.
- Hoare, C. A. R. and Gordon, M. J. C. (1992). Mechanised Reasoning and Hardware Design. Prentice Hall International Series in Computer Science. ISBN 978-0-13-572405-7. OCLC 25712842.
- Hoare, C. A. R. and He, Jifeng (1998). Unifying Theories of Programming. Prentice Hall International Series in Computer Science. ISBN 978-0-13-458761-5. OCLC 38199961.