|
|
>> No, what I'm saying is "if adding debug code alters all the bugs, how
>> does that not make it scientifically impossible to remove all the bugs?"
>
> It's virtually impossible to remove them all anyway (heck, you won't
> even /notice/ some of the bugs).
Sure. But if you know there's a bug there, but it vanishes every time
you try to fix it, then even though you know it's there, it must surely
be impossible to actually fix.
> And of course one develops an instinct where such Heisenbugs /really/
> originate.
Well, yeah, there is that. If you don't *do* crazy stuff with pointer
arithmetic in the first place, you're less likely to have problems.
> The worse problems are those where the error mechanism is plain obvious,
> but is inherent in the software design, and fixing it invariably creates
> a bug somewhere else, which can only be fixed by introducing a third
> one, which in turn can only be fixed by re-introducing the first one...
In other words, the design of your application doesn't let you solve the
problem properly, and the only way to get it to work is with a hack that
doesn't work properly, which then introduces more problems that can only
be fixed with hacks... until eventually you figure out that it's less
work to redesign your application to work right in the first place.
[Can you tell how many large programs I've worked on?]
Post a reply to this message
|
|