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.

Form
Date
February 1, 1981
Notes
Lecture delivered at ACM ’80, Nashville, Tennessee, on October 27, 1980. Published in Communications of the ACM, Volume 24, Number 2, February 1, 1981, pp. 75-83.

Delivered as Tony Hoare’s 1980 Turing Award lecture, the piece reflects on lessons drawn from his career in programming and language design. He recalls implementing an ALGOL 60 compiler at Elliott Brothers, an over-ambitious operating system project that collapsed, and his work on the committees that shaped later languages.

Hoare argues that reliability depends on simplicity. He warns that elaborate features and unchecked complexity conceal errors, and he criticises designers and users who accept flaws rather than admit them, echoing the Andersen fairy tale of his title. He observes that a design can be made either so simple that it obviously has no deficiencies, or so complicated that it has no obvious deficiencies.

Drawing on failures as much as successes, he urges engineers to value clarity, to question fashionable ideas, and to take responsibility for the safety and correctness of the systems they build.

Quotes

✓Copied