Tony Hoare

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Sir Tony Hoare
Sir Tony Hoare IMG 5125.jpg
Sir Charles Antony Richard Hoare giving a conference at EPFL on 20 June 2011
Born Charles Antony Richard Hoare
(1934-01-11) 11 January 1934 (age 80)
Colombo, British Ceylon
Residence Cambridge
Fields Computer science
Institutions
Alma mater
Doctoral students
Known for
Notable awards [2]
Website
www.cs.ox.ac.uk/people/tony.hoare/

Sir Charles Antony Richard Hoare FRS FREng[3] (born 11 January 1934),[4] commonly known as Tony Hoare or C. A. R. Hoare, is a British computer scientist. He developed the sorting algorithm quicksort in 1960. He also developed Hoare logic for verifying program correctness, and the formal language Communicating Sequential Processes (CSP) to specify the interactions of concurrent processes (including the dining philosophers problem) and the inspiration for the occam programming language.[5][6][7][8][9]

Biography[edit]

Born in Colombo, Ceylon (now Sri Lanka) to British parents, Tony Hoare's father was a colonial civil servant and his mother was the daughter of a tea planter. Hoare was educated in England at the Dragon School in Oxford and the King's School in Canterbury.[10] He then studied Classics and Philosophy ("Greats") at Merton College, Oxford. On graduating in 1956 he did 18 months National Service in the Royal Navy, where he learned Russian.[11] He returned to Oxford University in 1958 to study for a postgraduate certificate in Statistics, and it was here that he began computer programming, having been taught Autocode on the Ferranti Mercury by Leslie Fox.[12] He then went to Moscow State University as a British Council exchange student, where he studied machine translation under Andrey Kolmogorov.[11]

In 1960, he left the Soviet Union and began working at Elliott Brothers, Ltd, a small computer manufacturing firm, where he implemented ALGOL 60 and began developing major algorithms.[13][14] He 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 is now an Emeritus Professor there, and is also a principal researcher at Microsoft Research in Cambridge, England.

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, structuring computer operating systems using the monitor concept, and the axiomatic specification of programming languages.[15][16]

In 1982, he was elected a Fellow of the Royal Society.[17] He was elected in 2005 as a Fellow[18] of the Royal Academy of Engineering[19]

Apologies and retractions[edit]

Hoare has always been willing to accept that he has made mistakes. Speaking at a conference in 2009, he apologised for inventing the null reference:[20][21]

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.

For many years under his leadership his Oxford department worked on formal specification languages such as CSP and Z. These did not achieve the expected take-up by industry, and in 1995 Hoare was led to reflect upon the original assumptions:[22]

Ten years ago, researchers into formal methods (and I was the most mistaken among them) predicted that the programming world would embrace with gratitude every assistance promised by formalisation to solve the problems of reliability that arise when programs get large and more safety-critical. Programs have now got very large and very critical – well beyond the scale which can be comfortably tackled by formal methods. There have been many problems and failures, but these have nearly always been attributable to inadequate analysis of requirements or inadequate management control. It has turned out that the world just does not suffer significantly from the kind of problem that our research was originally intended to solve.

Awards[edit]

Books[edit]

References[edit]

  1. ^ Tony Hoare at the Mathematics Genealogy Project
  2. ^ "List of Fellows". 
  3. ^ "List of Fellows". 
  4. ^ "Birthdays Jan 10". The Times (London). 10 January 2009. Retrieved 9 January 2010. 
  5. ^ Tony Hoare from the ACM Portal
  6. ^ List of publications from the DBLP Bibliography Server
  7. ^ List of publications from Microsoft Academic Search
  8. ^ Shustek, L. (2009). "Interview: An interview with C.A.R. Hoare". Comm. ACM 52 (3): 38–41. doi:10.1145/1467247.1467261.  edit
  9. ^ Hoare, C. A. R. (1974). "Monitors: An operating system structuring concept". Communications of the ACM 17 (10): 549. doi:10.1145/355620.361161. 
  10. ^ Lean, Thomas (2011–12). "Professor Sir Tony Hoare". National Life Stories: An Oral History of British Science. C1379/52. UK: British Library. Retrieved 15 September 2014.  Check date values in: |date= (help)
  11. ^ a b Tony Hoare (Autumn 2009). "My Early Days at Elliotts". Resurrection (Computer Conservation Society) (48). ISSN 0958-7403. Retrieved 27 May 2014. 
  12. ^ Bill Roscoe; Cliff Jones (2010). "1 Insight, inspiration and collaboration". Reflections on the Work of C.A.R. Hoare. Springer. ISBN 978-1-84882-911-4. 
  13. ^ a b C.A.R. Hoare (February 1981). "The emperor's old clothes" (PDF). Communications of the ACM 24 (2): 5–83. doi:10.1145/358549.358561. ISSN 0001-0782. 
  14. ^ Hoare, C. A. R. (1981). "The emperor's old clothes". Communications of the ACM 24 (2): 75. doi:10.1145/358549.358561. 
  15. ^ Preface to the ACM Turing Award lecture.
  16. ^ ACM Turing Award citation.
  17. ^ "Fellows". Royal Society. Retrieved 20 November 2010. 
  18. ^ "List of Fellows". 
  19. ^ "List of Fellows". 
  20. ^ Hoare, Tony (9 March 2009). "Null References: The Billion Dollar Mistake". QCon London. 
  21. ^ Hoare, Tony (25 August 2009). "Null References: The Billion Dollar Mistake". InfoQ.com. 
  22. ^ Hoare, C. A. R. (1996). "Selected papers from the 11th Workshop on Specification of Abstract Data Types Joint with the 8th COMPASS Workshop on Recent Trends in Data Type Specification". Springer-Verlag. pp. 49–57. ISBN 3-540-61629-2.  |chapter= ignored (help)
  23. ^ Hoare, Charles Anthony Richard (27 October 1980). "The Emperor's Old Clothes / The 1980 ACM Turing Award Lecture". Association for Computing Machinery. Archived from the original on 3 February 2012. 
  24. ^ "Honorary Graduates 1989 to present". bath.ac.uk. University of Bath. Retrieved 18 February 2012. 
  25. ^ (Charles) Antony Richard (Tony) Hoare Biography
  26. ^ "List of Fellows". 
  27. ^ "List of Fellows". 
  28. ^ "Programming Languages Achievement Award 2011". ACM. Retrieved August 28, 2012. 
  29. ^ "IEEE John von Neumann Medal Recipients". IEEE. Retrieved February 26, 2011. 
  30. ^ Diks, Krzysztof (15 November 2012). "Profesor Hoare doktorem honoris causa Uniwersytetu Warszawskiego" (in Polish). University of Warsaw. Retrieved 26 November 2012. 
  31. ^ "Los informáticos Tony Hoare y Mateo Valero serán investidos hoy doctores honoris causa por la Complutense" (in Spanish). 10 May 2013. Retrieved 10 May 2013. 

Further reading[edit]

External links[edit]