The Tower Bridge in Sacramento, California GOLD Parsing System
Computer Science Quotes
Latest News
Getting Started
Screen Shots
About GOLD
How It Works
Why Use GOLD?
Revision History
Freeware License
More ...
What is a Parser?
Backus-Naur Form
DFA Lexer
LALR Parsing
More ...

This page contains a number of interesting and insightful quotes about programming and computer science. When possible, a full reference for each quote was added - including the publication where it appeared.

Quotations without references may not be accurate. In some cases, I have manually checked the quote for accuracy. In this case, it is denoted with the text "(Quote Confirmed)".

Following each person's name, a short description of a notable accomplishment is listed. Naturally, their careers span a number of projects and academic works - not just the single listed item.


Programs must be written for people to read, and only incidentally for machines to execute.

H. Abelson and G. Sussman
"The Structure and Interpretation of Computer Programs"

On two occasions I have been asked [by members of the British Parliament], 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question.

Charles Babbage
The Inventor of the Analytical Engine - the first computer

It is practically impossible to teach good programming style to students that have had prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.

Edsger W. Dijkstra
SIGPLAN Notices, Volume 17, Number 5
(Quote Confirmed)

We are all shaped by the tools we use, in particular: the formalisms we use shape our thinking habits, for better or for worse, and that means that we have to be very careful in the choice of what we learn and teach, for unlearning is not really possible.

Edsger W. Dijkstra
Answers to Questions from Students of Sofware Engineering
(Quote Confirmed)

Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to build bigger and better idiots. So far, the universe is winning.

Robert Cringley

Measuring programming progress by lines of code is like measuring aircraft building progress by weight.

Bill Gates
Founder of Microsoft

Success is a lousy teacher. It seduces smart people into thinking they can't lose. And it's an unreliable guide to the future. What seems to be the perfect business plan or the latest technology today may soon be as out-of-date as the eight-track tape player, the vacuum-tube television, or the mainframe computer. I've watched it happen. History is a good teacher, though, and observing many companies over a long period of time can teach us principles that will help us with strategies for the years ahead.

Bill Gates
Founder of Microsoft
"The Road Ahead", Chapter 3, 1995
(Quote Confirmed)

Informational tools are symbolic metaphors that amplify the intellect rather than the muscle of their users.

Bill Gates
Founder of Microsoft
"The Road Ahead", pg. 5, 1995
(Quote Confirmed)

The purpose of computing is insight, not numbers.

Richard Hamming
Inventor of the Hamming error-correcting codes

Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.

Brian W. Kernighan

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.

C. A. R. Hoare
From "The Emperor's Old Clothes",  Turing Award Speech

Inside every well-written large program is a well-written small program.

C. A. R. Hoare

When I speak about computer programming as an art, I am thinking primarily of it as an art form, in an aesthetic sense. The chief goal of my work as an educator and author is to help people learn how to write beautiful programs ... My feeling is that when we prepare a program, the experience can be just like composing poetry or music ... Some programs are elegant, some are exquisite, some are sparkling. My claim is that it is possible to write grand programs, noble programs, truly magnificent ones! ... computer programming is an art, because it applies accumulated knowledge to the world, because it requires skill and ingenuity, and especially because it produces objects of beauty. Programmers who subconsciously view themselves as artists will enjoy what they do and will do it better.

Donald E. Knuth
"Computer Programming as an Art"
Turing Award Speech, 1974

Programmers waste enormous amounts of time thinking about, or worrying about, the speed of noncritical parts of their programs, and these attempts at efficiency actually have a strong negative impact when debugging and maintenance are considered. We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil.

Donald E. Knuth
"Structured Programming with Go To Statements"
ACM Computing Surveys 6, 4 - 1974
(Quote Confirmed)

Beware of bugs in the above code; I have only proved it correct, not tried it.

Donald E. Knuth
Final sentence of the letter written to Peter van Emde Boas titled "Notes on the van Emde Boas construction of priority deques: An instructive use of", 1977

One can even conjecture that Lisp owes its survival specifically to the fact that its programs are lists, which everyone, including me, has regarded as a disadvantage.

John McCarthy
The Inventer or LISP
From Early History of Lisp

The code for a computer system provides the ecology in which code is born, matures, and dies. A well-designed habitat allows for the successful evolution of all the components needed in a computer system.

R. Pattis

I have reaffirmed a long-standing and strongly held view: Language comparisons are rarely meaningful and even less often fair.

Bjarne Stroustrup
Creator of the C++ programming language
From The Design and Evolution of C++

There are only two kinds of languages: the kind everybody bitches about, and the kind nobody uses.

Bjarne Stroustrup
Creator of the C++ programming language

A programming language is a system of notation for describing computations. A useful programming language must therefore be suited for both description (i.e., for human writers and readers of programs) and for computation (i.e., for efficient implementation on computers). But human beings and computers are so different that it is difficult to find notational devices that are well suited to the capabilities of both.

R. Tennant
From Principles of Programming Languages, Prentice Hall, 1981

We shall do a much better programming job, provided we approach the task with a full appreciation of its tremendous difficulty, provided that we respect the intrinsic limitations of the human mind and approach the task as very humble programmers.

Alan Turing