|No such thing as a small change|
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.
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.
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.