Intelligent Quotes

Quote

“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.”

Tony Hoare (verified)

Description

Tony Hoare’s insightful observation is that simplicity rather than complexity leads to reliable software.

This is because fewer parts mean fewer places where defects can occur and fewer interactions that can lead to unexpected issues.

Additionally, a simple design makes it more likely that the designer can have a complete mental model of the solution in the head, making it easier to reason about the design and spot potential weaknesses.

His second, often counterintuitive, insight is that it is more difficult to construct a simple solution than a complex one. The reason is that devising a simple solution requires a deep and precise understanding of the problem domain. Simplicity is the final aim of mastery, not its starting point.

Source

The Emperor’s Old Clothes (Primary source)
Tony Hoare’s brilliant Turing Award lecture where he reflects on software design and the importance of simplicity and elegance in programming.

More about “The Emperor’s Old Clothes” →

Full quote

“I gave desperate warning against the obscurity, the complexity, and overambition of the new design, but my warnings went unheeded. I concluded that 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. It also requires a willingness to accept objectives which are limited by physical, logical, and technological constraints, and to accept a compromise when conflicting objectives cannot be met. No committee will ever do this until it is too late.”

Tony Hoare (verified)

More Tony Hoare quotes

More quotes by Tony Hoare →

People also read

Related topics

Simplicity Computer Programming Software Design Robustness