Home      Discussion      Topics      Dictionary      Almanac
Signup       Login
C. A. R. Hoare

C. A. R. Hoare

Overview
Sir Charles Antony Richard Hoare (born 11 January 1934), commonly known as Tony Hoare or C. A. R. Hoare, is a British
British people
The British are citizens of the United Kingdom, of the Isle of Man, any of the Channel Islands, or of any of the British overseas territories, and their descendants...

 computer scientist
Computer science
Computer science or computing science is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems...

 best known for the development (in 1960, at age 26) of Quicksort, one of the world's most widely used sorting algorithms. He also developed Hoare logic
Hoare logic
Hoare logic is a formal system with a set of logical rules for reasoning rigorously about the correctness of computer programs. It was proposed in 1969 by the British computer scientist and logician C. A. R. Hoare, and subsequently refined by Hoare and other researchers...

 for verifying program correctness, and the formal language Communicating Sequential Processes
Communicating sequential processes
In computer science, Communicating Sequential Processes is a formal language for describing patterns of interaction in concurrent systems. It is a member of the family of mathematical theories of concurrency known as process algebras, or process calculi...

 (CSP) to specify the interactions of concurrent process
Concurrency (computer science)
In computer science, concurrency is a property of systems in which several computations are executing simultaneously, and potentially interacting with each other...

es (including the dining philosophers problem
Dining philosophers problem
In computer science, the dining philosophers problem is an example problem often used in concurrent algorithm design to illustrate synchronization issues and techniques for resolving them....

) and the inspiration for the occam programming language.
Discussion
Ask a question about 'C. A. R. Hoare'
Start a new discussion about 'C. A. R. Hoare'
Answer questions from other users
Full Discussion Forum
 
Quotations

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. It demands the same skill, devotion, insight, and even inspiration as the discovery of the simple physical laws which underlie the complex phenomena of nature.

[About Fortran|Fortran] On October 11, 1963, my suggestion was to pass on a request of our customers to relax the ALGOL 60 rule of compulsory declaration of variable names and adopt some reasonable default convention such as that of FORTRAN. […] The story of the Mariner programMariners 1 and 2|Mariner space rocket to Venus, lost because of the lack of compulsory declarations in FORTRAN, was not to be published until later.

[About Algol 60|Algol 60] Due credit must be paid to the genius of the designers of ALGOL 60 who included recursion in their language and enabled me to describe my invention [Quicksort|Quicksort] so elegantly to the world.

[About Algol W|Algol W] It was not only a worthy successor of ALGOL 60, it was even a worthy predecessor of PASCAL[…] I was astonished when the working group, consisting of all the best known international experts of programming languages, resolved to lay aside the commissioned draft on which we had all been working and swallow a line with such an unattractive bait.

[About Algol 68|Algol 68] The best we could do was to send with it a minority report, stating our considered view that, "… as a tool for the creation of sophisticated programs, the language was a failure."

[About Pascal_programming_language|Pascal] That is the great strength of PASCAL, that there are so few unnecessary features and almost no need for subsets. That is why the language is strong enough to support specialized extensions--Concurrent PASCAL for real time work, PASCAL PLUS for discrete event simulation, UCSD PASCAL for microprocessor work stations.

[About Ada_programming_language|Ada] For none of the evidence we have so far can inspire confidence that this language has avoided any of the problems that have afflicted other complex language projects of the past. [...] It is not too late! I believe that by careful pruning of the ADA language, it is still possible to select a very powerful subset that would be reliable and efficient in implementation and safe and economic in use.

Encyclopedia
Sir Charles Antony Richard Hoare (born 11 January 1934), commonly known as Tony Hoare or C. A. R. Hoare, is a British
British people
The British are citizens of the United Kingdom, of the Isle of Man, any of the Channel Islands, or of any of the British overseas territories, and their descendants...

 computer scientist
Computer science
Computer science or computing science is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems...

 best known for the development (in 1960, at age 26) of Quicksort, one of the world's most widely used sorting algorithms. He also developed Hoare logic
Hoare logic
Hoare logic is a formal system with a set of logical rules for reasoning rigorously about the correctness of computer programs. It was proposed in 1969 by the British computer scientist and logician C. A. R. Hoare, and subsequently refined by Hoare and other researchers...

 for verifying program correctness, and the formal language Communicating Sequential Processes
Communicating sequential processes
In computer science, Communicating Sequential Processes is a formal language for describing patterns of interaction in concurrent systems. It is a member of the family of mathematical theories of concurrency known as process algebras, or process calculi...

 (CSP) to specify the interactions of concurrent process
Concurrency (computer science)
In computer science, concurrency is a property of systems in which several computations are executing simultaneously, and potentially interacting with each other...

es (including the dining philosophers problem
Dining philosophers problem
In computer science, the dining philosophers problem is an example problem often used in concurrent algorithm design to illustrate synchronization issues and techniques for resolving them....

) and the inspiration for the occam programming language.

Biography


Born in Colombo
Colombo
Colombo is the largest city of Sri Lanka. It is located on the west coast of the island and adjacent to Sri Jayawardenapura Kotte, the capital of Sri Lanka. Colombo is often referred to as the capital of the country, since Sri Jayawardenapura Kotte is a satellite city of Colombo...

, Ceylon (now Sri Lanka
Sri Lanka
Sri Lanka, officially the Democratic Socialist Republic of Sri Lanka is a country off the southern coast of the Indian subcontinent. Known until 1972 as Ceylon , Sri Lanka is an island surrounded by the Indian Ocean, the Gulf of Mannar and the Palk Strait, and lies in the vicinity of India and the...

) to British parents, he received his Bachelor's degree
Bachelor's degree
A bachelor's degree is usually an academic degree awarded for an undergraduate course or major that generally lasts for three or four years, but can range anywhere from two to six years depending on the region of the world...

 in Classics
Classics
Classics is the branch of the Humanities comprising the languages, literature, philosophy, history, art, archaeology and other culture of the ancient Mediterranean world ; especially Ancient Greece and Ancient Rome during Classical Antiquity Classics (sometimes encompassing Classical Studies or...

 from the University of Oxford
University of Oxford
The University of Oxford is a university located in Oxford, United Kingdom. It is the second-oldest surviving university in the world and the oldest in the English-speaking world. Although its exact date of foundation is unclear, there is evidence of teaching as far back as 1096...

 (Merton College) in 1956. He remained an extra year at Oxford studying graduate-level statistics, and following his National Service
National service
National service is a common name for mandatory government service programmes . The term became common British usage during and for some years following the Second World War. Many young people spent one or more years in such programmes...

 in the Royal Navy
Royal Navy
The Royal Navy is the naval warfare service branch of the British Armed Forces. Founded in the 16th century, it is the oldest service branch and is known as the Senior Service...

 (1956–1958). While he studied Russian
Russian language
Russian is a Slavic language used primarily in Russia, Belarus, Uzbekistan, Kazakhstan, Tajikistan and Kyrgyzstan. It is an unofficial but widely spoken language in Ukraine, Moldova, Latvia, Turkmenistan and Estonia and, to a lesser extent, the other countries that were once constituent republics...

, he also studied computer translation
Machine translation
Machine translation, sometimes referred to by the abbreviation MT is a sub-field of computational linguistics that investigates the use of computer software to translate text or speech from one natural language to another.On a basic...

 of human languages at the Moscow State University
Moscow State University
Lomonosov Moscow State University , previously known as Lomonosov University or MSU , is the largest university in Russia. Founded in 1755, it also claims to be one of the oldest university in Russia and to have the tallest educational building in the world. Its current rector is Viktor Sadovnichiy...

 in the Soviet Union
Soviet Union
The Soviet Union , officially the Union of Soviet Socialist Republics , was a constitutionally socialist state that existed in Eurasia between 1922 and 1991....

 in the school of Kolmogorov.

In 1960, he left the Soviet Union and began working at Elliott Brothers
Elliott Brothers (computer company)
-Elliott Brothers Ltd:Elliott Brothers Ltd was an early computer company of the 1950s–60s in the United Kingdom, tracing its descent from a firm of instrument makers founded by William Elliott in London around 1804. The research laboratories were based at Borehamwood, originally set up in...

, Ltd, a small computer manufacturing firm, where he implemented ALGOL 60 and began developing major algorithm
Algorithm
In mathematics and computer science, an algorithm is an effective method expressed as a finite list of well-defined instructions for calculating a function. Algorithms are used for calculation, data processing, and automated reasoning...

s. He became the Professor of Computing Science at the Queen's University of Belfast
Queen's University of Belfast
Queen's University Belfast is a public research university in Belfast, Northern Ireland. The university's official title, per its charter, is the Queen's University of Belfast. It is often referred to simply as Queen's, or by the abbreviation QUB...

 in 1968, and in 1977 returned to Oxford as the Professor of Computing to lead the Programming Research Group
Programming Research Group
The Programming Research Group is part of the Oxford University Computing Laboratory . It was founded by Christopher Strachey in 1965 and after his death, C.A.R. Hoare, FRS took over the leadership in 1977...

 in the Oxford University Computing Laboratory
Oxford University Computing Laboratory
The Department of Computer Science, until 2011 named the Computing Laboratory , is a department of Oxford University in England...

, following the death of Christopher Strachey
Christopher Strachey
Christopher Strachey was a British computer scientist. He was one of the founders of denotational semantics, and a pioneer in programming language design...

. He is now an Emeritus Professor
Professor
A professor is a scholarly teacher; the precise meaning of the term varies by country. Literally, professor derives from Latin as a "person who professes" being usually an expert in arts or sciences; a teacher of high rank...

 there, and is also a principal researcher at Microsoft Research
Microsoft Research
Microsoft Research is the research division of Microsoft created in 1991 for developing various computer science ideas and integrating them into Microsoft products. It currently employs Turing Award winners C.A.R. Hoare, Butler Lampson, and Charles P...

 in Cambridge
Cambridge
The city of Cambridge is a university town and the administrative centre of the county of Cambridgeshire, England. It lies in East Anglia about north of London. Cambridge is at the heart of the high-technology centre known as Silicon Fen – a play on Silicon Valley and the fens surrounding the...

, England.

Hoare's most significant work has been in the following areas: his sorting algorithm (Quicksort), Hoare logic
Hoare logic
Hoare logic is a formal system with a set of logical rules for reasoning rigorously about the correctness of computer programs. It was proposed in 1969 by the British computer scientist and logician C. A. R. Hoare, and subsequently refined by Hoare and other researchers...

, the formal language Communicating Sequential Processes
Communicating sequential processes
In computer science, Communicating Sequential Processes is a formal language for describing patterns of interaction in concurrent systems. It is a member of the family of mathematical theories of concurrency known as process algebras, or process calculi...

 (CSP) used to specify the interactions between concurrent processes, structuring computer operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

s using the monitor
Monitor (synchronization)
In concurrent programming, a monitor is an object or module intended to be used safely by more than one thread. The defining characteristic of a monitor is that its methods are executed with mutual exclusion. That is, at each point in time, at most one thread may be executing any of its methods...

 concept, and the axiom
Axiom
In traditional logic, an axiom or postulate is a proposition that is not proven or demonstrated but considered either to be self-evident or to define and delimit the realm of analysis. In other words, an axiom is a logical statement that is assumed to be true...

atic specification of programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....

s.

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

Quotations


The famous quotation, "We should forget about small efficiencies, say about 97% of the time: premature optimization
Optimization (computer science)
In computer science, program optimization or software optimization is the process of modifying a software system to make some aspect of it work more efficiently or use fewer resources...

 is the root of all evil", by Donald Knuth
Donald Knuth
Donald Ervin Knuth is a computer scientist and Professor Emeritus at Stanford University.He is the author of the seminal multi-volume work The Art of Computer Programming. Knuth has been called the "father" of the analysis of algorithms...

, has also been mistakenly attributed to Hoare (by Knuth himself), although Hoare disclaims authorship.

Speaking at a conference in 2009, Hoare apologized for inventing the null reference:
Another quotation around the difficulty of creating software systems which are not overly complex states:

Awards

  • ACM Turing Award for "fundamental contributions to the definition and design of programming language
    Programming language
    A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....

    s". The award was presented to him at the ACM Annual Conference in Nashville, Tennessee
    Nashville, Tennessee
    Nashville is the capital of the U.S. state of Tennessee and the county seat of Davidson County. It is located on the Cumberland River in Davidson County, in the north-central part of the state. The city is a center for the health care, publishing, banking and transportation industries, and is home...

    , on 27 October 1980, by Walter Carlson, Chairman of the Awards committee. A transcript of Hoare's speech was published in Communications of the ACM
    Communications of the ACM
    Communications of the ACM is the flagship monthly journal of the Association for Computing Machinery . First published in 1957, CACM is sent to all ACM members, currently numbering about 80,000. The articles are intended for readers with backgrounds in all areas of computer science and information...

    .
  • Harry H. Goode Memorial Award (1981)
  • Fellow of the Royal Society (1982)
  • Honorary Doctorate of Science by the Queen's University Belfast (1987)
  • Knighted
    Knight Bachelor
    The rank of Knight Bachelor is a part of the British honours system. It is the most basic rank of a man who has been knighted by the monarch but not as a member of one of the organised Orders of Chivalry...

     for services to education
    Education
    Education in its broadest, general sense is the means through which the aims and habits of a group of people lives on from one generation to the next. Generally, it occurs through any experience that has a formative effect on the way one thinks, feels, or acts...

     and computer science
    Computer science
    Computer science or computing science is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems...

     (2000)
  • Kyoto Prize
    Kyoto Prize
    The has been awarded annually since 1985 by the Inamori Foundation, founded by Kazuo Inamori. The prize is a Japanese award similar in intent to the Nobel Prize, as it recognizes outstanding works in the fields of philosophy, arts, science and technology...

     for Information science
    Information science
    -Introduction:Information science is an interdisciplinary science primarily concerned with the analysis, collection, classification, manipulation, storage, retrieval and dissemination of information...

     (2000)
  • Fellow of the Royal Academy of Engineering
    Royal Academy of Engineering
    -Overview: is the UK’s national academy of engineering. The Academy brings together the most successful and talented engineers from across the engineering sectors for a shared purpose: to advance and promote excellence in engineering....

     (2005)
  • Computer History Museum
    Computer History Museum
    The Computer History Museum is a museum established in 1996 in Mountain View, California, USA. The Museum is dedicated to preserving and presenting the stories and artifacts of the information age, and exploring the computing revolution and its impact on our lives.-History:The museum's origins...

     (CHM) in Mountain View, California
    Mountain View, California
    -Downtown:Mountain View has a pedestrian-friendly downtown centered on Castro Street. The downtown area consists of the seven blocks of Castro Street from the Downtown Mountain View Station transit center in the north to the intersection with El Camino Real in the south...

     Fellow of the Museum "for development of the Quicksort algorithm and for lifelong contributions to the theory of programming language
    Programming language
    A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....

    s" (2006)
  • Honorary Doctorate of Science from the Department of Informatics of the Athens University of Economics and Business (AUEB) (2007)
  • IEEE John von Neumann Medal
    IEEE John von Neumann Medal
    The IEEE John von Neumann Medal was established by the IEEE Board of Directors in 1990 and may be presented annually "for outstanding achievements in computer-related science and technology." The achievements may be theoretical, technological, or entrepreneurial, and need not have been made...

     (2011)

External links