What do you think?
Rate this book


134 pages, Paperback
First published June 1, 1978
A top-notch program requires a top-notch algorithm.
In programming, it is not enough to be inventive and ingenious. One also needs to be disciplined and controlled in order not to become entangled in one’s own complexities.
The time has come for programmers to write programs that work correctly the first time.
It is senseless to start programming until there is a complete understanding of the problem and a complete general plan of attack.
It is much easier to discard poor thoughts than poor programs.
Back in 1900 it was possible to foresee cars going 70 miles an hour, but the drivers were imagined as daredevils rather than grandmothers. The moral is that in any new human activity one generation hardly scratches the surface of its capabilities. So it will be in programming as well.
With the development of inexpensive fast storage and larger memory systems, the preoccupation with the size and speed of machine code would seem to have been dealt a death blow. Not so! Old habits remain.
We will say that a program is “straightforward” or “natural” or “not tricky” if each step in the computer algorithm has a simple correspondence to a step in the real world algorithm that a person would use to solve the problem.
Good code alone seems to be sufficient for the detailed understanding needed for program maintenance.
Remember, never assume that the computer assumes anything.