Occupation: Computer Scientist Birth: January 1, 1942
Do what you think is interesting, do something that you think is fun and worthwhile, because otherwise you won't do it well anyway..
The most effective debugging tool is still careful thought, coupled with judiciously placed print statements..
Some compilers allow a check during execution that subscripts do not exceed array dimensions. This is a help, but not sufficient. First, many program….
C is a razor-sharp tool, with which one can create an elegant and efficient program or a bloody mess..
Believe the terrain, not the map.
... it is a fundamental principle of testing that you must know in advance the answer each test case is supposed to produce. If you don't, you are no….
Mechanical rules are never a substitute for clarity of thought..
As we said in the preface to the first edition, C "wears well as one's experience with it grows." With a decade more experience, we still feel that w….
Don't document bad code - rewrite it..
Get the weirdnesses into the data where you can manipulate them easily, and the regularity into the code because regular code is a lot easier to work….
If you're as clever as you can be when you write it, how will you ever debug it?.
Controlling complexity is the essence of computer programming..
If you had done something twice, you are likely to do it again..
An effective way to test code is to exercise it at its natural boundaries.
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, ….
Trivia rarely affect efficiency. Are all the machinations worth it, when their primary effect is to make the code less readable?.
90% of the functionality delivered now is better than 100% delivered never..
Each new user of a new system uncovers a new class of bugs..
Another effective [debugging] technique is to explain your code to someone else. This will often cause you to explain the bug to yourself. Sometimes ….
Trying to outsmart a compiler defeats much of the purpose of using one..