search
Get Started
search
Tony Hoare - Computer Scientist
zoom_in Click to enlarge

Tony Hoare

description Tony Hoare Overview

Sir Charles Antony Richard "Tony" Hoare is a British computer scientist best known for developing the Quicksort sorting algorithm in 1959 and for creating Hoare logic, a formal system for verifying program correctness. He was awarded the ACM Turing Award in 1980 for these fundamental contributions to the design and definition of programming languages. His work has heavily influenced modern theoretical computer science and software engineering, particularly in the areas of formal methods and algorithm design.

insights Ranking position

Tony Hoare ranks #1 of 185 in the Computer Scientist ranking, ahead of Michael Rabin.

help Tony Hoare FAQ

How does the Quicksort algorithm that Tony Hoare invented work?

Hoare developed Quicksort in 1959 while a visiting student at Moscow State University, working on a machine translation project. The algorithm selects a pivot element and partitions the array so that smaller elements precede and larger ones follow the pivot, then recursively sorts each partition, yielding an average time complexity of O(n log n).

What did Tony Hoare call his 'billion-dollar mistake'?

Hoare famously referred to his 1965 invention of the null reference as his 'billion-dollar mistake,' arguing that null pointers have caused countless crashes and security vulnerabilities over the decades. He introduced null references in the ALGOL W language and publicly expressed regret at the QCon conference in London in 2009.

What is Hoare logic and what is it used for?

Hoare logic, introduced by Hoare in 1969, is a formal system using 'Hoare triples' — written {P} C {Q} — to rigorously prove that a program command C transforms precondition P into postcondition Q. This work laid the foundation for modern program verification and the field of formal methods in software engineering.

What is Communicating Sequential Processes (CSP) that Tony Hoare developed?

Hoare developed CSP in 1978 as a formal language for describing and reasoning about patterns of interaction in concurrent systems. CSP later influenced the concurrency model of Google's Go programming language and remains a cornerstone of process algebra theory.

Reviews & Comments

Write a Review

rate_review

Be the first to review

Share your thoughts with the community and help others make better decisions.

Save to your list

Save your favorites and follow how their scores change over time.

Save favorites
Get updates
Compare scores

Already have an account? Sign in

Compare Items

See how they stack up against each other

Comparing
VS
Select 1 more item to compare