At 9:57 AM +0100 7/5/02, Lindsay Marshall wrote:
>(oops I think I sent a copy of the message -badly designed web mail 
>interfaces to blame....)
>
>
>>The strategy I usually apply is an experimental scientific method,
>>sort of. I think the process of de-bugging is essentially the
>>same as scientific research -- trying to find the cause of things.
>>You change something (the independent variable) and notice the
>>result (the dependent variable). The challenge is to make this
>>process as fast and efficient as possible.
>
>Whilst this sounds like a valid way to approach the problem, I think 
>that there is much more to it than this. "you change something" is a 
>very big thing - how do you decide what to change?

In scientific research you start with a hypothesis, which can be a guess
based on intuition. Until you start trying things (and/or reading about
what others have tried), you really don't know what's going on, and it
can be very hard to decide where to start.
In de-bugging things are usually a lot simpler because the thing you are
investigating is man-made and, unlike natural phenomena, can ultimately
be understood by any human being with enough time and patience. But there
are times when I'm at a complete loss and then I may resort to random
trial and error, just to get started.


>In fact once you have decided what to change you are well on the way 
>to finding the problem (in most cases)!

Not necessarily. The first experiment may rule out a whole bunch of
possibilities, and then you have to decide what to change next and this
process may go on for a long time.


>You certainly don't change stuff at random and hope to get lucky.

Yes, once in a while. And there is usually an element of randomness
involved, even when I already have a sense of direction.



>So it seems to me that the hard part of the process is this first 
>bit. In fact when I am debugging I rarely change things in this way 
>until I think I am near to solving the problem and then it is really 
>just a way of verifying my analysis.

I guess changing things might help me think. Looking at the code usually
doesn't help me at all.

PC

>
>
>- Automatic footer for [EMAIL PROTECTED] ----------------------------------
>To unsubscribe from this list, mail [EMAIL PROTECTED]  unsubscribe discuss
>To join the announcements list, mail [EMAIL PROTECTED] subscribe announce
>To receive a help file, mail [EMAIL PROTECTED]         help
>This list is archived at http://www.mail-archive.com/discuss%40ppig.org/
>If you have any problems or questions, please mail [EMAIL PROTECTED]


- Automatic footer for [EMAIL PROTECTED] ----------------------------------
To unsubscribe from this list, mail [EMAIL PROTECTED]  unsubscribe discuss
To join the announcements list, mail [EMAIL PROTECTED] subscribe announce
To receive a help file, mail [EMAIL PROTECTED]         help
This list is archived at http://www.mail-archive.com/discuss%40ppig.org/
If you have any problems or questions, please mail [EMAIL PROTECTED]

Reply via email to