Speaking at a software conference in 2009, Tony Hoare hyperbolically apologized for "inventing" the null reference:[26][27]
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.[28]
For many years under his leadership, Hoare's 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:[29]
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.
A commemorative article was written in tribute to Hoare on his 90th birthday.[30]
Awards and honours
ACM Programming Systems and Languages Paper Award (1973)[31] for the paper "Proof of correctness of data representations"[32]
Member of the National Academy of Engineering (2006) for fundamental contributions to computer science in the areas of algorithms, operating systems, and programming languages.
^Lean, Thomas (2011). "Professor Sir Tony Hoare"(PDF). National Life Stories: An Oral History of British Science. UK: British Library. Archived(PDF) from the original on 15 September 2014. Retrieved 15 September 2014.
^ abcdeLevens, R.G.C., ed. (1964). Merton College Register 1900-1964. Oxford: Basil Blackwell. p. 434.
^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. ISBN3-540-61629-2.
^
Jifeng, He; Jones, Cliff; Roscoe, Bill; Stoy, Joe; Sufrin, Bernard; Bowen, Jonathan (2 July 2024). Denvir, Tim (ed.). "Tony Hoare @ 90"(PDF). FACS FACTS (Magazine article). Formal Aspects of Computing Science (FACS) Specialist Group. pp. 5–42. ISSN0950-1231. Archived(PDF) from the original on 10 July 2024. Retrieved 10 July 2024.