If debugging is the process of removing software bugs, then programming must be the process of putting them in.
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.
Programming allows you to think about thinking, and while debugging you learn learning.
When debugging, novices insert corrective code; experts remove defective code.
The most effective debugging tool is still careful thought, coupled with judiciously placed print statements.
Testing proves a programmer’s failure. Debugging is the programmer’s vindication.
As soon as we started programming, we found to our surprise that it wasn't as easy to get programs right as we had thought. Debugging had to be discovered. I can remember the exact instant when I realized that a large part of my life from then on was going to be spent in finding mistakes in my own programs.
The wages of sin is debugging.
There has never been an unexpectedly short debugging period in the history of computers.
If you're as clever as you can be when you write it, how will you ever debug it?
System debugging, like astronomy, has always been done chiefly at night.
To err is human, but to really foul things up you need a computer.
Another effective [debugging] technique is to explain your code to someone else. This will often cause you to explain the bug to yourself. Sometimes it takes no more than a few sentences, followed by an embarrassed "Never mind, I see what's wrong. Sorry to bother you." This works remarkably well; you can even use non-programmers as listeners. One university computer center kept a teddy bear near the help desk. Students with mysterious bugs were required to explain them to the bear before they could speak to a human counselor.
I realized that a large part of my life from then on was going to be spent in finding mistakes in my own programs.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
Premature optimization is the root of all evil.
Each new user of a new system uncovers a new class of bugs.
The process of debugging, going an correcting the program and then looking at the behavior, and then correcting it again, and finally iteratively getting it to a working program, is in fact, very close to learning about learning.
The three most important aspects of debugging and real estate are the same: Location, Location, and Location.
The most frequent complaint is that it's hard. True. it's a hard game to win Also, many people ask me how to use the secret debugging commands, apparently under the impression that I'll tell them.
System debugging has always been a graveyard-shift occupation, like astronomy.
The hardest part of the software task is arriving at a complete and consistent specification, and much of the essence of building a program is in fact the debugging of the specification.
If you want more effective programmers, you will discover that they should not waste their time debugging, they should not introduce the bugs to start with.
We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil.
Premature optimization is the root of all evil in programming.
Follow AzQuotes on Facebook, Twitter and Google+. Every day we present the best quotes! Improve yourself, find your inspiration, share with friends
or simply: