Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight

Re: Being helpful to a fault?

by BUU (Prior)
on Dec 11, 2003 at 06:43 UTC ( #313997=note: print w/replies, xml ) Need Help??

in reply to Being helpful to a fault?

This raises a personal peeve of mine, namely people trying to "answer the larger problem". The idea behind that is noble of course, but nine times out of ten the person asking the question knows more about the problem and has probably considered all the alternatives and so on. When you attempt to "solve the larger problem" you do so with out all of the knowledge you need to adequately do this as you are forced to make assumptions based on the original question. The end result of this is that you don't answer the question and you sound arrogant/condescending.

Obligatory examples:
Ex 1.
Seeker: Hey, I'm trying to write a bubble sort routine, sorting against this array. This is my attempt code. However the last element doesn't get sorted properly, can you see what I'm doing wrong?

Response: Omg bubble sorts are really bad and evil and you should never use them. Write a quick sort now.

Ex 2.
Seeker: Hey, I'm trying to write the fastest sort routine for this data and I seem to remember that a bubble sort is the fastest one, but my implementation, here, doesn't seem to sort the last element properly, anyone see whats wrong?

Response: You are doing X wrong, but a bubble sort is not in fact the fastest, you would be much better served by looking at a quicksort.

Obviously these examples are contrived, but I hope they illustrate my point.
In example 1, the response is totally useless as he doesn't answer the stated question. He assumes the seeker is attempting to do something else and then tries to answer based on that assumption. I'm sure you are all aware of what assuming does.. =]. Granted its possible that the seeker was attempting to write the fastest sort possible and was misinformed that a bubble sort was fastest. But he never, ever states that. He could be writing a bubble sort just to see how it works, or for homework or any number of reasons, none of which the responder knows. It's one thing to ask "are you sure you don't want a faster algorithm?" but just assuming he does and then going off on that tangent, I at least, find it minorly annoying to greatly irritating, depending on the tone of the response.

Example 2 gives much more information and implies a larger question then just "what is wrong with this algorithm", the question being "whats the fastest way to do this". The response answers both questions, thus being a good response.

Update: Dunno where that "nine times out of ten" thing came from.. I think I just meant "most of the time".

Update, part deux: I think my main point was not that questioning basic assumptions is bad, but that most people tend to do it in a way that is insulting to the original poster.

Replies are listed 'Best First'.
Re: Re: Being helpful to a fault?
by tilly (Archbishop) on Dec 11, 2003 at 07:26 UTC
    As someone who often tries to "answer the bigger question", let me respond.

    Perhaps in 9 out of 10 cases, the person really has thought things through. (I don't believe that, but I won't argue the made-up statistic.)

    I don't have to because in more than 9 out of 10 cases I don't respond that way. In fact I only choose to respond that way when I see what I take to be cues that indicate that in this case the person hasn't thought things through. And I've hit the mark often enough that I am convinced that trying to answer the larger problem is worthwhile, despite the fact that I miss the boat sometimes.

    (An incidental side point. In your made-up example, the chorus of responses would be to just use Perl's built-in sort.)

      49% of all statistics are just made up on the spot. 87% of people know that.

      Not an editor command: Wq
        87% of people know that.

        Is that subject to the usual ± 3% margin for error?

        Examine what is said, not who speaks.
        "Efficiency is intelligent laziness." -David Dunham
        "Think for yourself!" - Abigail

      An incidental side point. In your made-up example, the chorus of responses would be to just use Perl's built-in sort.
      Which, on modern Perls, isn't a quicksort by default.


Re: Re: Being helpful to a fault?
by hardburn (Abbot) on Dec 11, 2003 at 15:14 UTC

    I think it's usually obvious when someone hasn't thought things through. In your example, if the poster says "I'm writing up this bubble sort just for learning", then its clear that its not going to be used in practice and we can all safely answer the question as stated without the ingrained engineer's response of saying "That shouldn't be that way!"

    However, 9 times out of 10 (I got that statistic from the same place you did), someone implementing a bubble sort is mearly naive.

    A better example, which actually comes up a lot, is someone with a buggy CGI parser. The automatic (and correct, IMNHO) response is to point them to

    (Side point: I must wonder how many people using hand-coded CGI parsers actually understand the code they put in. Even buggy ones are a rather complex series of regular expressions and relatively deep Perl-isms. I certainly didn't understand them when I was doing it.)

    I wanted to explore how Perl's closures can be manipulated, and ended up creating an object system by accident.
    -- Schemer

    : () { :|:& };:

    Note: All code is untested, unless otherwise stated

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (3)
As of 2021-10-20 06:40 GMT
Find Nodes?
    Voting Booth?
    My first memorable Perl project was:

    Results (79 votes). Check out past polls.