Tony Hoare: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Cydebot (talk | contribs)
m Robot - Removing category Members of IFIP Working Group 2.3 per CFD at Wikipedia:Categories for discussion/Log/2013 November 1.
m →‎Books: switched from cite book template because it cannot handle multiple ISBNs
Line 93: Line 93:
| oclc = 23937947
| oclc = 23937947
}}
}}
* C. A. R. Hoare (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/ in PDF format.)
* {{cite book
| author = C. A. R. Hoare
| year = 1985
| title = [[Communicating Sequential Processes]]
| publisher = [[Prentice Hall]] International Series in Computer Science
| isbn = 0-13-153271-5 hardback or ISBN 0-13-153289-8 paperback
| others = (available online at http://www.usingcsp.com/ in PDF format)
}}
* {{cite book
* {{cite book
| author = C. A. R. Hoare and [[Michael J.C. Gordon|M. J. C. Gordon]]
| author = C. A. R. Hoare and [[Michael J.C. Gordon|M. J. C. Gordon]]

Revision as of 18:53, 25 November 2013

Sir Charles Antony Richard Hoare
Sir Charles Antony Richard Hoare giving a conference at EPFL on 20 June 2011
Born (1934-01-11) 11 January 1934 (age 90)
Alma materOxford University
Moscow State University
Known forQuicksort
Hoare logic
CSP
AwardsACM Turing Award (1980)
Harry H. Goode Memorial Award (1981)
Scientific career
FieldsComputer Scientist
InstitutionsElliott Brothers
Queen's University Belfast
Oxford University
Moscow State University
Microsoft Research
Doctoral studentsAndrew P. Black
Stephen Brookes
Cliff Jones
David Naumann
Bill Roscoe
William Stewart

Sir Charles Antony Richard Hoare (born 11 January 1934),[1] 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.

Biography

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). While he studied Russian, he also studied computer translation of human languages at the Moscow State University in the Soviet Union in the school of Andrey Nikolayevich Kolmogorov.

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.[2] 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.[3][4]

In 1982, he was elected a Fellow of the Royal Society.[5]

Quotations

Speaking at a conference in 2009, Hoare apologized for inventing the null reference:[6][7]

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.

Another quotation around the difficulty of creating software systems which are not overly complex states:

There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.

And reflecting upon original assumptions in 1995:[8]

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.

The famous quotation, "We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil", by Donald Knuth,[9] has also been mistakenly attributed to Hoare (by Knuth himself),[10] although Hoare disclaims authorship.[11]

Awards

Books

  • O.-J. Dahl, E. W. Dijkstra and C. A. R. Hoare (1972). Structured Programming. Academic Press. ISBN 0-12-200550-3. OCLC 23937947.
  • C. A. R. Hoare (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/ in PDF format.)
  • C. A. R. Hoare and M. J. C. Gordon (1992). Mechanised Reasoning and Hardware Design. Prentice Hall International Series in Computer Science. ISBN 0-13-572405-8. OCLC 25712842.
  • C. A. R. Hoare and He Jifeng (1998). Unifying Theories of Programming. Prentice Hall International Series in Computer Science. ISBN 0-13-458761-8. OCLC 38199961.

References

  1. ^ "Birthdays Jan 10". The Times. London. 10 January 2009. Retrieved 9 January 2010.
  2. ^ a b C.A.R. Hoare (1981). "The emperor's old clothes" (PDF). Communications of the ACM. 24 (2): 5–83. doi:10.1145/358549.358561. ISSN 0001-0782. {{cite journal}}: Unknown parameter |month= ignored (help)
  3. ^ Preface to the ACM Turing Award lecture.
  4. ^ ACM Turing Award citation.
  5. ^ "Fellows". Royal Society. Retrieved 20 November 2010.
  6. ^ Hoare, Tony (2009-03-09). "Null References: The Billion Dollar Mistake". QCon London.
  7. ^ Hoare, Tony (2009-08-25). "Null References: The Billion Dollar Mistake". InfoQ.com.
  8. ^ Hoare, C. A. R. (1996). "Unification of Theories: A Challenge for Computing Science". 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. {{cite conference}}: Unknown parameter |booktitle= ignored (|book-title= suggested) (help)
  9. ^ Knuth, Donald: Structured Programming with Goto Statements. Computing Surveys 6:4 (1974), 261–301.
  10. ^ The Errors of Tex, in Software—Practice & Experience, Volume 19, Issue 7 (July 1989), pp. 607–685, reprinted in his book Literate Programming (p. 276)
  11. ^ Hoare, a 2004 email.
  12. ^ Hoare, Charles Anthony Richard (1980-10-27). "The Emperor's Old Clothes / The 1980 ACM Turing Award Lecture". Association for Computing Machinery. Archived from the original (PDF) on 2012-02-03.
  13. ^ "Programming Languages Achievement Award 2011". ACM. Retrieved August 28, 2012.
  14. ^ "IEEE John von Neumann Medal Recipients" (PDF). IEEE. Retrieved February 26, 2011.
  15. ^ "Honorary Graduates 1989 to present". bath.ac.uk. University of Bath. Retrieved 18 February 2012.
  16. ^ Diks, Krzysztof (2012-11-15). "Profesor Hoare doktorem honoris causa Uniwersytetu Warszawskiego" (in Polish). University of Warsaw. Retrieved November 26, 2012.
  17. ^ "Los informáticos Tony Hoare y Mateo Valero serán investidos hoy doctores honoris causa por la Complutense" (in Spanish). 2013-05-10. Retrieved May 10, 2013.

Further reading

External links

Template:Persondata