Jump to content

Tony Hoare: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
merge duplicate references
Rescuing 6 sources and tagging 0 as dead. #IABot (v1.6.1) (Balon Greyjoy)
Line 42: Line 42:
}}
}}


'''Sir Charles Antony Richard Hoare''' {{post-nominals|country=GBR|FRS|FREng}}<ref name="List of Fellows">{{cite web|title=List of Fellows|url=http://www.raeng.org.uk/about-us/people-council-committees/the-fellowship/list-of-fellows}}</ref> (born 11 January 1934),<ref>{{cite news | url = http://www.timesonline.co.uk/tol/life_and_style/court_and_social/article5484753.ece | accessdate = 9 January 2010 | location=London | work=[[The Times]] | title=Birthdays Jan 10 | date=10 January 2009}}</ref> is a British [[computer science|computer scientist]]. He developed the [[sorting algorithm]] [[quicksort]] in 1959/1960.<ref>[http://www.computerhistory.org/fellowawards/hall/bios/Antony,Hoare/ ''In 1959, while studying machine translation of languages in Moscow, he invented the now well-known sorting algorithm, "Quicksort."'']</ref> He also developed [[Hoare logic]] for verifying program correctness, and the formal language [[communicating sequential processes]] (CSP) to specify the interactions of [[concurrency (computer science)|concurrent process]]es (including the [[dining philosophers problem]]) and the inspiration for the [[occam (programming language)|occam programming language]].<ref name="ACM">{{ACMPortal|id=81548013995}}</ref><ref name="dblp">{{DBLP|name=C. A. R. Hoare}}</ref><ref name="microsoft">{{AcademicSearch|2542366}}</ref><ref>{{Cite journal | last = Shustek | first = L. | title = Interview: An interview with C.A.R. Hoare | doi = 10.1145/1467247.1467261 | journal = [[Communications of the ACM]] | volume = 52 | issue = 3 | pages = 38–41 | year = 2009 | pmid = | pmc = }}</ref><ref name="monitors">{{Cite journal | doi = 10.1145/355620.361161| title = Monitors: An operating system structuring concept| journal = Communications of the ACM| volume = 17| issue = 10| pages = 549| year = 1974| last1 = Hoare | first1 = C. A. R.}}</ref><ref>{{cite report | archiveurl=http://archive.computerhistory.org/resources/access/text/2013/05/102658017-05-01-acc.pdf | title=Oral History of Sir Antony Hoare |publisher=[[Computer History Museum]] |first=Jonathan | last=Bowen | authorlink=Jonathan Bowen |date=8 September 2006| url=http://www.computerhistory.org/collections/accession/102658017 | archivedate=2013 | work=Hoare (Sir Antony, C.A.R.) Oral History, CHM Reference number: X3698.2007 | accessdate=18 April 2014}}</ref>
'''Sir Charles Antony Richard Hoare''' {{post-nominals|country=GBR|FRS|FREng}}<ref name="List of Fellows">{{cite web|title=List of Fellows|url=http://www.raeng.org.uk/about-us/people-council-committees/the-fellowship/list-of-fellows}}</ref> (born 11 January 1934),<ref>{{cite news | url = http://www.timesonline.co.uk/tol/life_and_style/court_and_social/article5484753.ece | accessdate = 9 January 2010 | location=London | work=[[The Times]] | title=Birthdays Jan 10 | date=10 January 2009}}</ref> is a British [[computer science|computer scientist]]. He developed the [[sorting algorithm]] [[quicksort]] in 1959/1960.<ref>[http://www.computerhistory.org/fellowawards/hall/bios/Antony,Hoare/ ''In 1959, while studying machine translation of languages in Moscow, he invented the now well-known sorting algorithm, "Quicksort."''] {{webarchive|url=https://web.archive.org/web/20150403184558/http://www.computerhistory.org/fellowawards/hall/bios/Antony%2CHoare/ |date=3 April 2015 }}</ref> He also developed [[Hoare logic]] for verifying program correctness, and the formal language [[communicating sequential processes]] (CSP) to specify the interactions of [[concurrency (computer science)|concurrent process]]es (including the [[dining philosophers problem]]) and the inspiration for the [[occam (programming language)|occam programming language]].<ref name="ACM">{{ACMPortal|id=81548013995}}</ref><ref name="dblp">{{DBLP|name=C. A. R. Hoare}}</ref><ref name="microsoft">{{AcademicSearch|2542366}}</ref><ref>{{Cite journal | last = Shustek | first = L. | title = Interview: An interview with C.A.R. Hoare | doi = 10.1145/1467247.1467261 | journal = [[Communications of the ACM]] | volume = 52 | issue = 3 | pages = 38–41 | year = 2009 | pmid = | pmc = }}</ref><ref name="monitors">{{Cite journal | doi = 10.1145/355620.361161| title = Monitors: An operating system structuring concept| journal = Communications of the ACM| volume = 17| issue = 10| pages = 549| year = 1974| last1 = Hoare | first1 = C. A. R.}}</ref><ref>{{cite report | archiveurl=http://archive.computerhistory.org/resources/access/text/2013/05/102658017-05-01-acc.pdf | title=Oral History of Sir Antony Hoare |publisher=[[Computer History Museum]] |first=Jonathan | last=Bowen | authorlink=Jonathan Bowen |date=8 September 2006| url=http://www.computerhistory.org/collections/accession/102658017 | archivedate=2013 | work=Hoare (Sir Antony, C.A.R.) Oral History, CHM Reference number: X3698.2007 | accessdate=18 April 2014}}</ref>


==Education and early life==
==Education and early life==
Line 52: Line 52:


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 process]]es, structuring computer [[operating system]]s using the [[Monitor (synchronization)|monitor]] concept, and the [[axiom]]atic specification of [[programming language]]s.<ref>
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 process]]es, structuring computer [[operating system]]s using the [[Monitor (synchronization)|monitor]] concept, and the [[axiom]]atic specification of [[programming language]]s.<ref>
[http://awards.acm.org/images/awards/140/articles/4622167.pdf Preface to the ACM Turing Award lecture].</ref><ref>[http://awards.acm.org/citation.cfm?id=4622167&srt=year&year=1980&aw=140&ao=AMTURING ACM Turing Award citation].</ref>
[http://awards.acm.org/images/awards/140/articles/4622167.pdf Preface to the ACM Turing Award lecture] {{webarchive|url=https://www.webcitation.org/65BW96PjQ?url=http://awards.acm.org/images/awards/140/articles/4622167.pdf |date=3 February 2012 }}.</ref><ref>[http://awards.acm.org/citation.cfm?id=4622167&srt=year&year=1980&aw=140&ao=AMTURING ACM Turing Award citation].</ref>


===Apologies and retractions===
===Apologies and retractions===
Line 104: Line 104:
{{colbegin||35em}}
{{colbegin||35em}}
* [[DFBCS|Distinguished Fellow of the British Computer Society]] (1978)
* [[DFBCS|Distinguished Fellow of the British Computer Society]] (1978)
* [[ACM Turing Award]] for "fundamental contributions to the definition and design of [[programming language]]s". The award was presented to him at the ACM Annual Conference in [[Nashville, Tennessee]], on 27 October 1980, by Walter Carlson, chairman of the Awards committee. A transcript of Hoare's speech<ref name="ACM_Turing_Award_lecture">{{cite web
* [[ACM Turing Award]] for "fundamental contributions to the definition and design of [[programming language]]s". The award was presented to him at the ACM Annual Conference in [[Nashville, Tennessee]], on 27 October 1980, by Walter Carlson, chairman of the Awards committee. A transcript of Hoare's speech<ref name="ACM_Turing_Award_lecture">{{cite web
| url = http://awards.acm.org/images/awards/140/articles/4622167.pdf
|url = http://awards.acm.org/images/awards/140/articles/4622167.pdf
| title = The Emperor's Old Clothes / The 1980 ACM Turing Award Lecture
|title = The Emperor's Old Clothes / The 1980 ACM Turing Award Lecture
| date = 27 October 1980
|date = 27 October 1980
| archiveurl = https://www.webcitation.org/65BW96PjQ
|archiveurl = https://www.webcitation.org/65BW96PjQ?url=http://awards.acm.org/images/awards/140/articles/4622167.pdf
| archivedate = 3 February 2012
|archivedate = 3 February 2012
| author = Hoare, Charles Anthony Richard
|author = Hoare, Charles Anthony Richard
| publisher = Association for Computing Machinery
|publisher = Association for Computing Machinery
|deadurl = yes
|df = dmy-all
}}</ref> was published in ''[[Communications of the ACM]]''.<ref name="Hoare81" />
}}</ref> was published in ''[[Communications of the ACM]]''.<ref name="Hoare81" />
* [[Harry H. Goode Memorial Award]] (1981)
* [[Harry H. Goode Memorial Award]] (1981)
Line 121: Line 123:
* [[Kyoto Prize]] for [[Information science]] (2000)
* [[Kyoto Prize]] for [[Information science]] (2000)
* [[Fellow]]<ref name="List of Fellows"/> of the [[Royal Academy of Engineering]]<ref name="List of Fellows"/> (2005)
* [[Fellow]]<ref name="List of Fellows"/> of the [[Royal Academy of Engineering]]<ref name="List of Fellows"/> (2005)
* [[Computer History Museum]] (CHM) in [[Mountain View, California]] Fellow of the Museum "for development of the [[Quicksort]] algorithm and for lifelong contributions to the theory of [[programming language]]s" (2006)<ref>{{Cite web |title= Sir Antony Hoare— CHM Fellow Award Winner |author= CHM |url= http://www.computerhistory.org/fellowawards/hall/bios/Antony,Hoare/|accessdate= 30 March 2015 }}[http://www.computerhistory.org/fellowawards/hall/bios/Antony,Hoare/]</ref>
* [[Computer History Museum]] (CHM) in [[Mountain View, California]] Fellow of the Museum "for development of the [[Quicksort]] algorithm and for lifelong contributions to the theory of [[programming language]]s" (2006)<ref>{{Cite web |title= Sir Antony Hoare— CHM Fellow Award Winner |author= CHM |url= http://www.computerhistory.org/fellowawards/hall/bios/Antony,Hoare/ |accessdate= 30 March 2015 |deadurl= yes |archiveurl= https://web.archive.org/web/20150403184558/http://www.computerhistory.org/fellowawards/hall/bios/Antony%2CHoare/ |archivedate= 3 April 2015 |df= dmy-all }}{{cite web |url=http://www.computerhistory.org/fellowawards/hall/bios/Antony,Hoare/ |title=Archived copy |accessdate=2015-04-22 |deadurl=yes |archiveurl=https://web.archive.org/web/20150403184558/http://www.computerhistory.org/fellowawards/hall/bios/Antony%2CHoare/ |archivedate=3 April 2015 |df=dmy-all }}</ref>
* Honorary Doctorate from [[Heriot-Watt University]] (2007) <ref>{{Cite web|url=http://www1.hw.ac.uk/annual-review/2007/people_awards.html|title=Annual Review 2007 : Principal's Review|website=www1.hw.ac.uk|access-date=2016-03-29}}</ref>
* Honorary Doctorate from [[Heriot-Watt University]] (2007) <ref>{{Cite web|url=http://www1.hw.ac.uk/annual-review/2007/people_awards.html|title=Annual Review 2007 : Principal's Review|website=www1.hw.ac.uk|access-date=2016-03-29|deadurl=yes|archiveurl=https://web.archive.org/web/20160305032855/http://www1.hw.ac.uk/annual-review/2007/people_awards.html|archivedate=5 March 2016|df=dmy-all}}</ref>
* Honorary Doctorate of Science from the Department of Informatics of the [[Athens University of Economics and Business]] (AUEB) (2007)
* Honorary Doctorate of Science from the Department of Informatics of the [[Athens University of Economics and Business]] (AUEB) (2007)
* Friedrich L. Bauer-Prize, [[Technical University of Munich]] (2007)<ref>{{cite web | url=http://www.in.tum.de/forschung/auszeichnungen/detail/newsarticle/hoare-sir-charles-antony-richard.html | title = Preisverleihung auf der Festveranstaltung "40 Jahre Informatik in München": TU München vergibt Friedrich L. Bauer-Preis an Tony Hoare | date=26 October 2007 | accessdate=14 May 2016 | language=German | publisher = [[Technical University of Munich]]}}</ref>
* Friedrich L. Bauer-Prize, [[Technical University of Munich]] (2007)<ref>{{cite web | url=http://www.in.tum.de/forschung/auszeichnungen/detail/newsarticle/hoare-sir-charles-antony-richard.html | title = Preisverleihung auf der Festveranstaltung "40 Jahre Informatik in München": TU München vergibt Friedrich L. Bauer-Preis an Tony Hoare | date=26 October 2007 | accessdate=14 May 2016 | language=German | publisher = [[Technical University of Munich]]}}</ref>

Revision as of 00:34, 3 December 2017

Sir Tony Hoare
Tony Hoare in 2011
Born
Charles Antony Richard Hoare

(1934-01-11) 11 January 1934 (age 90)
Other namesC. A. R. Hoare
Alma mater
Known for
Awards
Scientific career
FieldsComputer science
Institutions
Doctoral students
Websitewww.cs.ox.ac.uk/people/tony.hoare/

Sir Charles Antony Richard Hoare FRS FREng[3] (born 11 January 1934),[4] is a British computer scientist. He developed the sorting algorithm quicksort in 1959/1960.[5] 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.[6][7][8][9][10][11]

Education and early life

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.[12] He then studied Classics and Philosophy ("Greats") at Merton College, Oxford.[13] On graduating in 1956 he did 18 months National Service in the Royal Navy,[13] where he learned Russian.[14] He returned to the University of Oxford in 1958 to study for a postgraduate certificate in Statistics,[13] and it was here that he began computer programming, having been taught Autocode on the Ferranti Mercury by Leslie Fox.[15] He then went to Moscow State University as a British Council exchange student,[13] where he studied machine translation under Andrey Kolmogorov.[14]

Research and career

In 1960, Hoare left the Soviet Union and began working at Elliott Brothers,[13] Ltd, a small computer manufacturing firm, where he implemented ALGOL 60 and began developing major algorithms.[16][17] 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.[18][19][20]

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.[21][22]

Apologies and retractions

Speaking at a conference in 2009, he apologised for inventing the null reference:[23]

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:[24]

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.

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.

Awards and honours

References

  1. ^ a b Tony Hoare at the Mathematics Genealogy Project
  2. ^ Sampaio, Augusto (1993). An algebraic approach to compiler design. bodleian.ox.ac.uk (DPhil thesis). University of Oxford. OCLC 854973008. EThOS uk.bl.ethos.334903.
  3. ^ a b c "List of Fellows".
  4. ^ "Birthdays Jan 10". The Times. London. 10 January 2009. Retrieved 9 January 2010.
  5. ^ In 1959, while studying machine translation of languages in Moscow, he invented the now well-known sorting algorithm, "Quicksort." Archived 3 April 2015 at the Wayback Machine
  6. ^ Tony Hoare author profile page at the ACM Digital Library
  7. ^ C. A. R. Hoare at DBLP Bibliography Server Edit this at Wikidata
  8. ^ Tony Hoare publications indexed by Microsoft Academic
  9. ^ Shustek, L. (2009). "Interview: An interview with C.A.R. Hoare". Communications of the ACM. 52 (3): 38–41. doi:10.1145/1467247.1467261.
  10. ^ Hoare, C. A. R. (1974). "Monitors: An operating system structuring concept". Communications of the ACM. 17 (10): 549. doi:10.1145/355620.361161.
  11. ^ Bowen, Jonathan (8 September 2006). Oral History of Sir Antony Hoare (PDF). Hoare (Sir Antony, C.A.R.) Oral History, CHM Reference number: X3698.2007 (Report). Computer History Museum. Archived from the original on 2013. Retrieved 18 April 2014. {{cite report}}: Check date values in: |archivedate= (help)
  12. ^ Lean, Thomas (2011). "Professor Sir Tony Hoare" (PDF). National Life Stories: An Oral History of British Science. UK: British Library. Retrieved 15 September 2014.
  13. ^ a b c d e Levens, R.G.C., ed. (1964). Merton College Register 1900-1964. Oxford: Basil Blackwell. p. 434.
  14. ^ a b Tony Hoare (Autumn 2009). "My Early Days at Elliotts". Resurrection (48). Computer Conservation Society. ISSN 0958-7403. Retrieved 27 May 2014.
  15. ^ Bill Roscoe; Cliff Jones (2010). "1 Insight, inspiration and collaboration". Reflections on the Work of C.A.R. Hoare (PDF). Springer. ISBN 978-1-84882-911-4.
  16. ^ 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.
  17. ^ Hoare, C. A. R. (1981). "The emperor's old clothes". Communications of the ACM. 24 (2): 75. doi:10.1145/358549.358561.
  18. ^ Microsoft home page – short biography
  19. ^ Oral history interview with C. A. R. Hoare at Charles Babbage Institute, University of Minnesota, Minneapolis.
  20. ^ The classic article on monitors  – The original article on monitors
  21. ^ Preface to the ACM Turing Award lecture Archived 3 February 2012 at WebCite.
  22. ^ ACM Turing Award citation.
  23. ^ Hoare, Tony (25 August 2009). "Null References: The Billion Dollar Mistake". InfoQ.com.
  24. ^ 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)
  25. ^ Hoare, Charles Anthony Richard (27 October 1980). "The Emperor's Old Clothes / The 1980 ACM Turing Award Lecture" (PDF). Association for Computing Machinery. Archived from the original (PDF) on 3 February 2012. {{cite web}}: Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  26. ^ Anon (1982). "Anthony Hoare FRS". royalsociety.org. London: Royal Society.
  27. ^ "Honorary Graduates 1989 to present". bath.ac.uk. University of Bath. Retrieved 18 February 2012.
  28. ^ (Charles) Antony Richard (Tony) Hoare Biography
  29. ^ CHM. "Sir Antony Hoare— CHM Fellow Award Winner". Archived from the original on 3 April 2015. Retrieved 30 March 2015. {{cite web}}: Unknown parameter |deadurl= ignored (|url-status= suggested) (help)"Archived copy". Archived from the original on 3 April 2015. Retrieved 22 April 2015. {{cite web}}: Unknown parameter |deadurl= ignored (|url-status= suggested) (help)CS1 maint: archived copy as title (link)
  30. ^ "Annual Review 2007 : Principal's Review". www1.hw.ac.uk. Archived from the original on 5 March 2016. Retrieved 29 March 2016. {{cite web}}: Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  31. ^ "Preisverleihung auf der Festveranstaltung "40 Jahre Informatik in München": TU München vergibt Friedrich L. Bauer-Preis an Tony Hoare" (in German). Technical University of Munich. 26 October 2007. Retrieved 14 May 2016.
  32. ^ "Programming Languages Achievement Award 2011". ACM. Retrieved 28 August 2012.
  33. ^ "IEEE John von Neumann Medal Recipients" (PDF). IEEE. Retrieved 26 February 2011.
  34. ^ Diks, Krzysztof (15 November 2012). "Profesor Hoare doktorem honoris causa Uniwersytetu Warszawskiego" (in Polish). University of Warsaw. Retrieved 26 November 2012.
  35. ^ "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.

 This article incorporates text available under the CC BY 4.0 license.