Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 157 Stack Exchange communities.

What is meta?
Here's how it works:
  1. Any Stack Exchange user can ask a question
  2. The community provides support, votes on ideas, and reports bugs
  3. Your voice helps shape the way Stack Exchange operates

I often see questions where the question is phrased "Why doesn't this work" and the answer is really "because you don't understand what you're doing." (For example, JavaScript code where the questioner doesn't understand asynchronous programming.)

It's kind of a FAQ, but since the asker doesn't know what they don't know, they'll never find it.

We could close the question as a duplicate, but then there's no marker for the next confused person.

Stack Overflow isn't really a good format for teaching new concepts to people.

Is there a sensible way to handle these?

share|improve this question

Vote to close as "Not a Real Question."

"Why doesn't this work," or "It doesn't work" seldom satisfies as a description of the problem, which makes the question "Incomplete," by the definition of "Not a Real Question."

Essentially, this kind of question is an appeal to "do my troubleshooting for me," because (if the OP actually provided a short, complete code sample) the only way to solve it is to plug his code sample into an IDE and see what it does.

In order for such a question to be complete, the OP should:

  1. Describe the expected behavior: "I want it to do this, but..."
  2. Describe the actual behavior: "it actually does this."
share|improve this answer
Hmm... I've seen ones where they have a minimal test case, they just don't get it.… is the most recent one. Decently asked, but still comes down to "you don't know a fundamental concept." – Sean McMillan Sep 13 '11 at 16:32
Explain the underlying concept. If that doesn't work because the OP has only a basic level of understanding, direct them to a decent tutorial. – Robert Harvey Sep 13 '11 at 16:34
The need to explain the underlying concept is what makes the question a duplicate: there may be a zillion different ways to ask why I can't make an Ajax call in the middle of a function and return the Ajax result at the end of the function ("why is my return value undefined? why did my textbox not update? etc.) but there's only one real answer: describing an asynchronous call with a callback. – Jacob Mattison Sep 13 '11 at 20:13
@Jacob: I don't think exact duplicate means what you think it means. What you are really describing is a canonical answer, but there isn't very good support in the SE software and community for canonical answers yet. – Robert Harvey Sep 13 '11 at 20:17
Yeah, good point. That is exactly what I mean. – Jacob Mattison Sep 13 '11 at 20:44

Often these cry out for 'too localized'. One person's very particular inability to understand the behavior of his or her very particular wall, ditch, or palisade of code is not a question that offers any illumination to future readers.

There would be a lot of very disappointed people if we all took that line.

share|improve this answer

I'd close it as a duplicate. The problem with such questions (not understanding why an ajax call doesn't return synchronously, not understanding why a value updated within a closure is changed elsewhere, etc.) is that since they don't understand the situation, they're typically asking the wrong question. Therefore it's not a useful marker for the next confused person.

To @Robert Harvey I'd say that they typically are asking a real question, it's just the wrong question. I think indicating that it's a duplicate (after finding a good example that has the answer they need) is better than just closing.

share|improve this answer
If there is, in fact, an existing duplicate question. Just because a question has the answer they need doesn't necessarily make the question itself a duplicate. Also, questions of this kind tend to get closed, and I don't like marking questions as duplicates of closed questions, because closure is the first step towards question deletion; you'll be closing as duplicate of a question that will no longer exist. – Robert Harvey Sep 13 '11 at 20:14
Let's create a question containing just "Why?" answer that question with "Because you don't understand how it works." and use it to close all those questions as duplicate. ;-) – kiamlaluno Sep 14 '11 at 0:25

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .