Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

RE: Debugging

by Ovid (Cardinal)
on Jun 11, 2000 at 23:14 UTC ( [id://17627]=note: print w/replies, xml ) Need Help??


in reply to Debugging

Oddly enough, I see a parallel to morality problems here. In college, philosophy professors would pose a problem like the following:

Your plane crashes in the jungle. Everyone lives, but is captured by rebels. The leader of the rebels asks you to kill one of the passengers. If you don't, he will kill them all. The question: do you kill someone? If so, how do you select the person?

I realized that all moral dilemmas that he came up with always stemmed from a previous immoral action over which you have no control. In the case of the problem above, the previous immoral action is the rebel leader deciding that some or all survivors will be murdered.

Though the parallel is tenuous, it's there.

In debugging, we are attempting to apply logic to a previous breakdown in our logic. It's the poor choices of ourselves or others that lead us down the path of debugging. Is there a universal logical approach to resolving breakdowns in logic, or is it more of an art?

I debug well, but I don't always succeed. Your comment "hackers gain insite into life by how they debug" is very applicable to me. Oftimes, when faced with my breakdowns in logic, I am tempted to just run to others for help (hence, some of my posts to Perl Monks). Sometimes, I just want an answer, rather than figure out what's going on. Hmmm... now I'm seeing parallels to religion. I'll stop now before this becomes a full-fledged rant.

Replies are listed 'Best First'.
RE: RE: Debugging
by chromatic (Archbishop) on Jun 12, 2000 at 01:02 UTC
    Is there a universal logical approach to resolving breakdowns in logic, or is it more of an art?

    It's both. While there has to be an organized, test-one-thing-at-a-time approach for debugging anything more complex than a one-timer, art and experience come in when you have to figure out exactly where and what the error is. The more mistakes you make -- and fix -- the more easily you can recognize new ones.

    Some people are so good at this, it appears to be magic. It's like the Knuth series -- though programming is essentially breaking a complex task down into little chunks and then describing them as succinctly AND in as much detail as necessary, it's a creative process. That's why it's an Art.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://17627]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others imbibing at the Monastery: (3)
As of 2024-04-26 03:47 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found