42 Words of Wisdom: #02

"The impossible often has a kind of integrity which the merely improbable lacks."

- Douglas Adams

So true, so true. There is just something about being able to say that something is "impossible" that is so much more satisfying than having to say that it is "almost impossible". This one also applies well to software development. When debugging code, a typical strategy involves elminating the bits of code that cannot have caused the problem, until you are left with only one bit that therefore must have caused the problem. The challenge always comes from the fact that with any moderately-complex software, you can never with 100% certainy say that it is "impossible" that a certain piece of code is causing problems. This becomes a very irritating fact. The debugging process eventually degenerates into one of two approaches - a "brute force" approach, where the developer systematically disables one bit of code at a time until the problem goes away, or the "inspired" approach, where the developer uses educated guesses and hunches to zero-in on the problem code right away. And of course, that almost never works, and the developer eventually reverts back to the "brute force" approach.