Template:Short description Template:For Template:Use British English Template:Use dmy dates Template:Infobox scientist

Sir Charles Antony Richard Hoare (Template:IPAc-en; born 11 January 1934), also known as C. A. R. Hoare, is a British computer scientist who has made foundational contributions to programming languages, algorithms, operating systems, formal verification, and concurrent computing.<ref>Template:Cite book</ref> His work earned him the Turing Award, usually regarded as the highest distinction in computer science, in 1980.

Hoare developed the sorting algorithm quicksort in 1959–1960.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> He developed Hoare logic, an axiomatic basis for verifying program correctness.<ref>Template:Cite journal</ref> In the semantics of concurrency, he introduced the formal language communicating sequential processes (CSP) to specify the interactions of concurrent processes, and along with Edsger Dijkstra, formulated the dining philosophers problem.<ref name="ACM">Template:ACM Portal</ref><ref name="dblp">Template:DBLP</ref><ref name="microsoft">Template:AcademicSearch</ref><ref>Template:Cite journal</ref><ref name="monitors">Template:Cite journal</ref><ref>Template:Cite report</ref> Since 1977, he has held positions at the University of Oxford and Microsoft Research in Cambridge.

Education and early lifeEdit

Tony Hoare was born in Colombo, Ceylon (now Sri Lanka) to British parents; his 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.<ref name="bl">{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> He then studied Classics and Philosophy ("Greats") at Merton College, Oxford.<ref name="MCreg">Template:Cite book</ref> On graduating in 1956 he did 18 months National Service in the Royal Navy,<ref name=MCreg /> where he learned Russian.<ref name="Hoare_autobio">Template:Cite journal</ref> He returned to the University of Oxford in 1958 to study for a postgraduate certificate in statistics,<ref name=MCreg /> and it was here that he began computer programming, having been taught Autocode on the Ferranti Mercury by Leslie Fox.<ref>Template:Cite book</ref> He then went to Moscow State University as a British Council exchange student,<ref name=MCreg /> where he studied machine translation under Andrey Kolmogorov.<ref name="Hoare_autobio"/>

Research and careerEdit

In 1960, Hoare left the Soviet Union and began working at Elliott Brothers Ltd,<ref name=MCreg /> a small computer manufacturing firm located in London. There, he implemented the language ALGOL 60 and began developing major algorithms.<ref name="Hoare81">Template:Cite journal</ref><ref>Template:Cite journal</ref>

He was involved with developing international standards in programming and informatics, as a member of the International Federation for Information Processing (IFIP) Working Group 2.1 on Algorithmic Languages and Calculi,<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> which specified, maintains, and supports the languages ALGOL 60 and ALGOL 68.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

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 became the first Christopher Strachey Professor of Computing on its establishment in 1988 until his retirement at Oxford in 2000.<ref name="cs-strachey-prof">{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> He is now an Emeritus Professor there, and is also a principal researcher at Microsoft Research in Cambridge, England.<ref>Microsoft home page – short biography</ref><ref>Oral history interview with C. A. R. Hoare at Charles Babbage Institute, University of Minnesota, Minneapolis.</ref><ref>Template:Doi-inline – The original article on monitors</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 processes (and implemented in various programming languages such as occam), structuring computer operating systems using the monitor concept, and the axiomatic specification of programming languages.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref><ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

Speaking at a software conference in 2009, Tony Hoare hyperbolically apologized for inventing the null reference:<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref><ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

<templatestyles src="Template:Blockquote/styles.css" />

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.<ref>

{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>{{#if:|{{#if:|}}

}}

{{#invoke:Check for unknown parameters|check|unknown=Template:Main other|preview=Page using Template:Blockquote with unknown parameter "_VALUE_"|ignoreblank=y| 1 | 2 | 3 | 4 | 5 | author | by | char | character | cite | class | content | multiline | personquoted | publication | quote | quotesource | quotetext | sign | source | style | text | title | ts }}

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:<ref>Template:Cite conference</ref>

<templatestyles src="Template:Blockquote/styles.css" />

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.{{#if:|{{#if:|}}

}}

{{#invoke:Check for unknown parameters|check|unknown=Template:Main other|preview=Page using Template:Blockquote with unknown parameter "_VALUE_"|ignoreblank=y| 1 | 2 | 3 | 4 | 5 | author | by | char | character | cite | class | content | multiline | personquoted | publication | quote | quotesource | quotetext | sign | source | style | text | title | ts }}

A commemorative article was written in tribute to Hoare for his 90th birthday.<ref> Template:Cite newsletter</ref>

Awards and honoursEdit

Template:Div col

  • ACM Programming Systems and Languages Paper Award (1973)<ref>{{#invoke:citation/CS1|citation

|CitationClass=web }}</ref> for the paper "Proof of correctness of data representations"<ref name="HoareActa1972">Template:Cite journal</ref>

|CitationClass=web }}</ref> was published in Communications of the ACM.<ref name="Hoare81" />

|CitationClass=web }}</ref>

|CitationClass=web }}</ref>

|CitationClass=web }}</ref>

|CitationClass=web }}</ref> of the Royal Academy of Engineering<ref name="List of Fellows"/> (2005)

|CitationClass=web }}{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

|CitationClass=web }}</ref>

|CitationClass=web }}</ref>

  • SIGPLAN Programming Languages Achievement Award (2011)<ref>{{#invoke:citation/CS1|citation

|CitationClass=web }}</ref>

|CitationClass=web }}</ref>

|CitationClass=web }}</ref>

|CitationClass=web }}</ref>

Template:Div col end

Personal lifeEdit

In 1962, Hoare married Jill Pym, a member of his research team.<ref>Template:Cite book</ref>

BooksEdit

ReferencesEdit

Template:Reflist Template:CC-notice

External linksEdit

Template:Sister project Template:Sister project

Template:Software engineering Template:ALGOL programming Template:Turing award Template:Authority control