Sources Computer Science

The Emperor’s Old Clothes

By Tony Hoare · 1981

Tony Hoare reflects on his career designing programming languages and software, arguing that reliability depends on simplicity rather than complexity or elaborate features.

Computer Science Sources

Tony Hoare · 1981
The Emperor’s Old Clothes

Tony Hoare reflects on his career designing programming languages and software, arguing that reliability depends on simplicity rather than complexity or elaborate features.

Bill Gates · 1995
The Road Ahead

An examination of the emerging digital information age, predicting how personal computing and networks would transform communication, work, education, commerce, and society.

Tony Hoare · 1971
Computer Science

Hoare's inaugural lecture at Queen's University Belfast, defining computer science as the art of designing efficient and elegant methods for solving problems by computer.

Tony Hoare · 1962
Quicksort

A description of Quicksort, a divide-and-conquer sorting algorithm that partitions data around a pivot element and recursively sorts the resulting sections.

Tony Hoare · 1969
An Axiomatic Basis for Computer Programming

An axiomatic method for proving the correctness of computer programs, using logical rules to reason about how statements change program variables.

Tony Hoare · 1974
Hints on Programming-Language Design

Practical advice on designing programming languages, arguing that they should prioritise simplicity, reliability and the needs of the programmer over elaborate features.

Tony Hoare · 1983
Programming is an Engineering Profession

An argument that programming should be regarded as a branch of engineering, combining scientific foundations with practical discipline and professional responsibility for reliability.

Tony Hoare · 1985
The Mathematics of Programming

Hoare's Oxford inaugural lecture, arguing that programming is a mathematical activity and that mathematical methods can ensure programs are correct and reliable.

Tony Hoare · 1985
Communicating Sequential Processes (CSP)

A formal language and theory for describing systems of concurrent processes that interact by communication, providing a rigorous basis for reasoning about concurrency.

Tony Hoare · 1996
How Did Software Get So Reliable Without Proof?

Hoare examines why software had become highly reliable despite little use of formal proof, and how mathematical theory and engineering practice reinforce one another.

Tony Hoare · 2009
Null References: The Billion Dollar Mistake

A talk in which Hoare reflects on his 1965 invention of the null reference, calling it a mistake that caused decades of costly software errors.

Bill Gates · 2023
The Risks of AI are Real but Manageable

An essay arguing that artificial intelligence poses serious near-term risks that can be mitigated through technology, regulation, adaptation, and public understanding.

Recent additions

✓Copied