I see that the "debuggers are bad" affectation is still alive and well. Here's Bob Martin in a recent tweet:
Someone caught me breakpointing my program in the speaker's lounge. <blush> But I found my horrible concurrency bug
The debugger is a tool - nothing more, nothing less. This strange notion that you should avoid it at all costs and just use tests is like claiming that you don't really need your left arm; better to saw it off to make giving in to temptation harder.
In Smalltalk, this kind of thinking just makes no sense at all, because the debugger isn't a tool of forensic pathology - it's a surgeon's tool, ready to be used on a live patient - a debugging code browser with inspectors.
The way I often look at it is this: Why should I try to imagine what the system's state will be when it gets to some method I want to write? Isn't that something that the computer is way, way better at than I am? It will show me the state and let me ponder the actual problem, instead of forcing me to pretend I can juggle all of that, and that one more test will get me there. Right.
While the anti-debugger people are over there, desperately trying to track that nth piece of state, I'll be over here, being productive.
Technorati Tags:
smalltalk, debugger, testing