Tony Hoare

Image of Tony Hoare
There are two methods in software design. One is to make the program so simple, there are obviously no errors. The other is to make it so complicated, there are no obvious errors.
- Tony Hoare
Collection: Design
Image of Tony Hoare
A single human brain has about a hundred million nerve cells... and a computer program that throws light on the mind/brain problem will have to incorporate the deepest insights of biologists, nerve scientists, psychologists, physiologists, linguists, social scientists, and even philosophers.
- Tony Hoare
Image of Tony Hoare
An ultimate joint challenge for the biological and the computational sciences is the understanding of the mechanisms of the human brain, and its relationship with the human mind.
- Tony Hoare
Image of Tony Hoare
It is easy to predict that some of the discoveries of research directed towards Grand Challenges - but only the most unexpected ones, and at the most unexpected times - will be the basis of revolutionary improvements in the way that we exploit the power of our future computing devices.
- Tony Hoare
Image of Tony Hoare
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.
- Tony Hoare
Collection: Witty
Image of Tony Hoare
The unavoidable price of reliability is simplicity.
- Tony Hoare
Collection: Simplicity
Image of Tony Hoare
I call it my billion-dollar mistake. It was the invention of the null reference in 1965.
- Tony Hoare
Collection: Mistake
Image of Tony Hoare
Inside every large program is a small program struggling to get out.
- Tony Hoare
Collection: Struggle
Image of Tony Hoare
Some problems are better evaded than solved.
- Tony Hoare
Collection: Problem
Image of Tony Hoare
Here is a language so far ahead of its time, that it was not only an improvement on its predecessors, but also on nearly all its successors.
- Tony Hoare
Collection: Improvement
Image of Tony Hoare
The real value of tests is not that they detect bugs in the code but that they detect inadequacies in the methods, concentration, and skills of those who design and produce the code.
- Tony Hoare
Collection: Real
Image of Tony Hoare
Premature optimization is the root of all evil in programming.
- Tony Hoare
Collection: Roots
Image of Tony Hoare
In the development of the understanding of complex phenomena, the most powerful tool available to the human intellect is abstraction. Abstraction arises from the recognition of similarities between certain objects, situations, or processes in the real world and the decision to concentrate on these similarities and to ignore, for the time being, their differences.
- Tony Hoare
Collection: Powerful
Image of Tony Hoare
At first I hoped that such a technically unsound project would collapse but I soon realized it was doomed to success. Almost anything in software can be implemented, sold, and even used given enough determination. There is nothing a mere scientist can say that will stand against the flood of a hundred million dollars. But there is one quality that cannot be purchased in this way - and that is reliability. The price of reliability is the pursuit of the utmost simplicity. It is a price which the very rich find most hard to pay.
- Tony Hoare
Collection: Determination
Image of Tony Hoare
Programmers are always surrounded by complexity; we cannot avoid it.... If our basic tool, the language in which we design and code our programs, is also complicated, the language itself becomes part of the problem rather than part of its solution.
- Tony Hoare
Collection: Design
Image of Tony Hoare
The price of reliability is the pursuit of the utmost simplicity. It is a price which the very rich may find hard to pay.
- Tony Hoare
Collection: Simplicity
Image of Tony Hoare
I couldn't resist the temptation to put in a null reference, simply because it was so easy to implement. This has led to innumerable errors, vulnerabilities, and system crashes, which have probably caused a billion dollars of pain and damage in the last forty years.
- Tony Hoare
Collection: Pain
Image of Tony Hoare
You cannot teach beginners top-down programming, because they don't know which end is up.
- Tony Hoare
Collection: Trust
Image of Tony Hoare
I don't know what the language of the year 2000 will look like, but I know it will be called Fortran.
- Tony Hoare
Collection: Years
Image of Tony Hoare
What is the central core of the subject [computer science]? What is it that distinguishes it from the separate subjects with which it is related? What is the linking thread which gathers these disparate branches into a single discipline. My answer to these questions is simple -it is the art of programming a computer. It is the art of designing efficient and elegant methods of getting a computer to solve problems, theoretical or practical, small or large, simple or complex. It is the art of translating this design into an effective and accurate computer program.
- Tony Hoare
Collection: Art
Image of Tony Hoare
The job of formal methods is to elucidate the assumptions upon which formal correctness depends.
- Tony Hoare
Collection: Jobs
Image of Tony Hoare
I was eventually persuaded of the need to design programming notations so as to maximize the number of errors which cannot be made, or if made, can be reliably detected at compile time.
- Tony Hoare
Collection: Learning