Debugging and development

Over the past year I've read more than a few books on debugging and program development. I've actually been interested in debugging for a while, especially since I started working in industry.

Debugging is tightly coupled with program development. So much so that I'm almost willing to call them the same thing. It strikes me that there is some kind of relationship between how debugging is performed and the software development methodologies. As the time between writing code and running code shrinks, the methodology changes.

If you look at the history of programming you find a lot less emphasis on planning and thinking before program development. These days, it's more or less "code it first", using some TDD methodology-like thinking, under the assumption that writing tests right away will help drive the design in better directions.

There's some truth to that, but I think it leaves a lot behind by focusing on writing code so much.

I have a feeling that by using the exorbitant computing power we have as a substitute for thinking, that is, valuing code running over code writing, we've lost something.

-- Geoff (