Science requires a society because even people who are trying to be good thinkers love their own thoughts and theories - much of the debugging has to be done by others.
If debugging is the process of removing software bugs, then programming must be the process of putting them in.
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.
The most effective debugging tool is still careful thought, coupled with judiciously placed print statements.
Each new user of a new system uncovers a new class of bugs.
If you're as clever as you can be when you write it, how will you ever debug it?
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.
System debugging has always been a graveyard-shift occupation, like astronomy.
System debugging, like astronomy, has always been done chiefly at night.
Treating your users as co-developers is your least-hassle route to rapid code improvement and effective debugging.
Building technical systems involves a lot of hard work and specialized knowledge: languages and protocols, coding and debugging, testing and refactoring.
Programming allows you to think about thinking, and while debugging you learn learning.
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.
There has never been an unexpectedly short debugging period in the history of computers.
Premature optimization is the root of all evil in programming.