Technically, a question such as

enter image description here

is not off topic according to the FAQ:

  • it is a specific programming question
  • it is answerable

However that question (now deleted), although not ideal, got closed as "Not a real question" within 5 minutes and deleted within 8 minutes? It IS a real question!

This post seems to confirm that although there would be good reasons to downvote, there are no proper reasons to close (unless it's a duplicate - but let's assume it isn't).

On the other hand, the accepted answer on this other post basically says: not enough research <=> not a real question.

My questions:

  • Is there an official policy as to how we should handle "give me the code" questions?
  • Could it be made clearer in the FAQ? (e.g.: give me the code questions are not welcome / give me the code questions, although not welcome, are tolerated / give me the code questions are welcome)
  • Up vote because spaceship operator. I now declare that as a meme of meta! May 17 '13 at 23:32
  • 2
    @raina77ow That would have been a better closure reason IMHO.
    – assylias
    May 18 '13 at 0:03
  • To me, it's asking more for advice, rather than an answer.
    – Xarcell
    May 18 '13 at 0:14
  • 4
    Until we get a "question is gimme the codez" close reason, I'll stick with NARQ for these.
    – Wooble
    May 18 '13 at 2:35
  • I think people get too caught up in the title of that close reason. It means it's not a real question as it pertains to Stack Overflow. If you read the summary for that close reason, I think the question could easily be considered "incomplete". May 18 '13 at 4:40

You're right, the question is not off topic -- It's not a good fit for Stack Overflow.

Stack Overflow's mission is to:

we're working together to build a library of detailed answers to every question about programming

Jeff Atwood talked about Stack Overflow's mission before, he said:

It is by programmers, for programmers, with the ultimate intent of collectively increasing the sum total of good programming knowledge in the world.

And then there's the matter of what we want from a question:

Include details about what you have tried and exactly what you are trying to do

What can we glean from all this?

Questions should be useful to other people. This is the basis of our 'too localized' close reason:

This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. (Emphasis mine)

Questions should have the goal of adding to useful programming knowledge that other people can share in. We're not here to solve any particular person's programming problems, we're here to provide answers to programming questions people commonly have. That means that a question should be searchable. How do you do that?

  • A great title that reflects the problem you're facing (hint: not "Java: Swapping Letters?")

  • A post that adaquately explains what you're trying to do, what you've tried, and phrased in such a way that it's helpful to other people

Those are the basics. Every question needs those qualities to have a chance to survive on this site.

The question you quoted doesn't have any of those qualities, and thus was closed. The OP can certainly improve their question and ask for it to be undeleted and re-opened, but the onus is on them, not on the community.

  • To be honest I have not checked the about page in a while and it does answer my questions. Would it make sense to link if from the FAQ?
    – assylias
    May 18 '13 at 7:25

To take a more specific example, how can this question (now deleted*), although not ideal, be closed as "Not a real question" within 5 minutes and deleted within 8 minutes? It IS a real question!

No it's not, there's no question mark in there. Whilst that may appear pedantic, it rather is the point at stake here. Even if the topicstarter had actually posed a question, for example:

I need to write a piece of code that will add two numbers and print the sum. Can someone give me the code?

Then the actual question still wouldn't have fit the requirements since it is not a programming problem itself, and "Yes, someone can" would've been a fitting, proper answer. If a question can be answered in such a way, it's no good fit for the site, like any other question that does not boil down to a specific programming related issue, that can only be answered with a specific programming related answer.

The topic you quote was closed correctly as not a question, since its question is open-ended and will provoke discussion, since it was asked as "How would I go about doing this". It's as such a start of a discussion, in which all answers are theoretically correct. No "practical, answerable problem", to quote the FAQ. And to quote the What NOT to ask FAQ:

Your questions should be reasonably scoped. If you can imagine an entire book that answers your question, you’re asking too much.

Asking someone to write your code from scratch, based on just the specifications, falls under exactly that criterium.

  • I don't agree with your interpretation of "practical, answerable problem". "since its question is open-ended and will provoke discussion" => why is it open ended? The fact that there are several ways to solve a given problem does not make it open-ended. Your analysis would disqualify half the questions asked on SO!
    – assylias
    May 17 '13 at 23:53
  • 1
    I agree pretty much wholeheartedly with this answer. I'm having a hard time seeing the question quoted as a question, by any measure. May 17 '13 at 23:54
  • @AndrewBarber OK I have removed my too simple example with the actual question.
    – assylias
    May 17 '13 at 23:58
  • @assylias not really, the difference is that the question as asked now has literally an infinite number of answers, while if the TS had done some prework and chosen his initial direction, and asked a more specific question, it would've been less than 10. The point of the 'answerable' requirement in the FAQ is that it must be possible, to a certain degree, to agree on a best solution. There might still be limited discussion about 2 or 3, but not infinity. May 18 '13 at 0:01
  • This is also what the 'Do NOT ask' FAQ implies with "Your questions should be reasonably scoped. If you can imagine an entire book that answers your question, you’re asking too much." May 18 '13 at 0:05
  • @NielsKeurentjes The question I mention can be answered in 3 lines (and yes there are several equally valid approaches, but hardly enough to fill an entire book). I don't get your point. Most of these questions are written by beginners and can be answered shortly by any advanced programmer.
    – assylias
    May 18 '13 at 0:07
  • Even if the resulting book might be thin, if there are 'several equally valid approaches to work towards a practical solution' it's not a practical programming question, but a conceptual programming question, and belongs, at best, on programmers.stackexchange.com instead. May 18 '13 at 0:09
  • This is not how SO works on a daily basis as far as I can observe it - let's agree to disagree.
    – assylias
    May 18 '13 at 0:20
  • Oh we can certainly agree on that statement - SO's scale, so many moderators, so many users, so hopelessly many questions, makes it rather impossible to be consistent in its results. But that makes the other questions the flukes, not this one where moderation did work according to intended principles. May 18 '13 at 0:53

"Not enough research" is really just an umbrella term that people use for this vague sense that the OP Isn't actually trying to get us to give him an answer instead of asking us to teach him a technique that he(and future users) could use in the future.

It's entirely possible to do absolutely no research at all and ask a very good question that gets multiple up-votes.

The most appropriate close reason for that question is "too localized" because, It's very unlikely that anyone else will be helped by that question unless they're working on the exact same homework assignment.


That is Off Topic because it is not a specific programming question. It is perhaps a specific program question, but that is by no means the same.

How do I write a program to do X

is not a specific programming question.

How do I do [task] in my program that is doing X

can be a specific programming question.

In this particular case, the correct question would have been

I am writing a program [as specified]. I have the string of user input, but am not sure how to swap the letters all at once without losing track of the letters.

Or something like that. Simply asking 'Write my program for me' is never a good question on SO, and Off Topic is a perfectly reasonable close reason for that. [I would also use Too Localized, depending on the situation; for this one that's probably what I'd use, but I think both are applicable.]


I don't like the term "not a real question," especially when it is a real one.

"Not enough research" equates to "not a good enough question," in my book. So do other "close" reasons.

The TEXT that I would use is something like, "This question is not of high enough quality to be acceptable on the site. That may be because it is incomplete, or ambiguous. Or else it may be deficient in one of the following key areas: bad grammar, faulty logic, not enough research effort demonstrated, or not enough effort put into the construction of the question.

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