Sir Charles Antony Richard Hoare is a senior researcher in the Programming Principles and Tools group at Microsoft Research Cambridge (U.K.).
Born in Colombo (Ceylon, now Sri Lanka) to British parents, he received his Bachelor’s degree in Classics from the University of Oxford (Merton College) in 1956. He remained an extra year at Oxford studying graduate-level statistics, and following his National Service in the Royal Navy (1956–1958). When he learned to speak Russian, he studied computer translation of human languages at Moscow State University in the Soviet Union in the school of Kolmogorov.
Hoare’s interest in computing was awakened in the early 1950s when he became fascinated by the power of logic and mathematics as a system for proving mathematical certainties. In 1959, while studying machine translation of languages in Moscow, he invented the now well-known sorting algorithm Quicksort.
He returned to England the following year and worked as a programmer for Elliott Brothers, a small British scientific computer manufacturer, designing the first commercial Algol 60 compiler. Hoare continued at Elliot Brothers as Chief Engineer, guiding a series of difficult projects until 1968 when he became Professor of Computing Science at Queen’s University, Belfast.
Throughout much of the 1960s and ’70s, a central concern among computer scientists was a ‘software crisis’ caused by the increasing complexity of computer software and systems. This inspired Hoare, who moved to Oxford University in 1977, to devise a system of logical rules (now known as ‘Hoare’s Logic’) that any programmer could follow, in the process helping to move the writing of software from a somewhat mystical discipline into a field with solid foundations.
Other results of his research include the Z specification language, the CSP concurrent programming model, and a method of analyzing the performance of parallel computing systems.
Throughout his more than thirty years as a scholar, Hoare has maintained strong contacts with industry through consultancy, teaching, and collaborative research projects. He is the author of hundreds of papers and was knighted by Her Majesty Queen Elizabeth II in 2000.
1990 Computer Pioneer Award
“For programming languages definitions.”
Learn more about the Computer Pioneer Award
1981 Harry H. Goode Memorial Award
“In recognition of his pioneering work in the formal semantics of programming languages to aid in the proof of correctness of program, his contributions towards applying formal discipline to the program development process, and his deep insight into the process of programming language design which has been invaluable to designers of a wide range of structured programming languages.”
Learn more about the Harry H. Goode Memorial Award