Re: Debuggers are a wasteful Timesink
Posted: Dec 3, 2003 12:20 PM
> A little clear thinking regarding this subject might help
> to clear up this tripe.
I agree. Let's shoot for it.
> First off, the author lures you into the idea that
> incredibly powerful tools waste time because they're so
> hard to learn, having so many features. This is an
> illusion. You use the set of features within the tool
> that are needed to solve the problem.
That wasn't the argument. The argument was that the debugger can be distracting for errors that can be found by inspection.
> The second problem with this commentary is more insiduous.
> TDD merely shifts the time spend in debugging from the
> back-end to the front-end. Essentially, with TDD, you
> are "debugging" the code first, then writing it.
> TDD is still debugging, but it uses a different tool--the
> unit test. This fellow seems to fail to recognize this.
> If you look at programming as two tasks--writing code and
> testing code (which includes debugging it), he's still
> spending the same (and probably more) time debugging.
> He's just doing it before writing code, rather than
> n after.
That sounds like an argument, but I guess you could say the same about writing formal specifications. Is that debugging before writing code? Maybe. Whether it is or isn't is irrelevant next to the more important matter of whether it is more cost effective to find bugs with a debugger or not put them in in the first place, and that is a simple one to answer.
> Finally, using students to examplify the problem with
> debuggers is like saying jumbo jets are bad because your
> Cessna pilot can't fly it. They're students for a reason.
Yes, because they are humble. I train beginners but also very experienced people. Some of them spend most of their professional lifes in debuggers. Some of them even write debuggers. When you are immersed in something, sometimes it is hard to see the alternatives.
> I remember wasting time with a debugger because my skills
> at reviewing my own code were untrained. But guess what?
> The debugger became my training tool (and much better
> r than any instructor at that!), and I began to use it
> less and less because I understand programming better.
Yes, and that's the ultimate goal.. to understand the program. Frankly, I think that debuggers can be pretty distracting in that regard, even for very experienced users.