Subtitle: Should beginner's questions be off-topic strictly because they are beginner's questions?

The sorts of questions that newbie programmers ask has come up before many times in side discussions, and comes up constantly on the main site. Here are two examples from today:

Usage of "&" in function calls, confused

C++ vertical bar?

Both of the above questions are well-formed, specific, answerable definitively, not open to opinions and are otherwise directly on-topic for StackOverflow.

However both questions were downvoted and closed by users who said they were off-topic because they were too basic in nature. To quote one particularly pointed comment:

This question appears to be off-topic because it is trivially answerable by reading a beginners' language tutorial.

That pretty much sums it up.

Here's another case posted yesterday:

Possible segmentation fault: Am I using the "this->" operator correctly?

This is another beginner's question. The topic is fairly elementary. The answer can likely be found in Strustrup's book, or any number of other books that we recommend. Considering only that it is a beginner's question of a fundamental nature, should the question be considered off-topic?

Lots of questions are posted from lazy people who are just looking to be spoon-fed answers. Those questions should all be closed because they never meet the quality guidelines. That's not what I'm asking about here. What I'm asking about is just the elementray nature of the question. If the question is elementary, but otherwise meets our quality and topical requirements, is it off-topic?

I have always thought that Stack Overflow is for professional and enthusiast programmers, people who write code because they love it. But enthusiasts come in all shapes and sizes, from the bright-green newbie writing their first program to the grizzled veterans who have seen and done it all a million times before. I have always felt that SO's stated audience does not, or should not, discriminate based on the expertise of the asker.

Some would say that newbie questions are off-topic because they aren't interesting enough for the answerers. But this seems highly subjective to me. After all, every question is a "no-duh softball" to someone. Just today I provided what I thought was a pretty novel solution to a problem, only to learn a few minutes later that KonradRudolph and Yakk had come up with the same solution over a year before. No-duh.

It seems to me that this has been coming up much more recently. Sometimes I'll chime in with a comment to the downvoters and close-voters suggesting that the level of expertise is not a parameter in deciding if a question is topical. The downvoters will often agree. But we don't have a difinitive resource to point to that says this is so -- it doesn't say it in the FAQs, and I've not found anything difinitive in meta.

So what says meta? Can a question about basics be on-topic for Stack Overflow? If it can be off-topic, how do we know where to draw the line?

  • 9
    There's a difference between how hard a problem is to solve, and whether or not a solution can be found with a reasonable amount of research effort. The site has an expectation of a reasonable amount of research being done on the part of a question asker before asking a question. Easy/beginner questions have a tendency to be asked frequently (here and elsewhere) and so the answers to those questions tend to be easily discoverable, that said, a "beginner" question that is not easily researched can do well on SO, and a hard question that happens to have easily found solutions can do poorly. – Servy Jan 10 '14 at 22:08
  • 2
    I'm curious why this was downvoted. There's nothing to disagree with here, as I'm not taking a stand. I'm asking for clarification. If these questions are off-topic and I know where to draw the line, then I'll happily vote to close them, while offering some helpful commentary to the askers. – John Dibling Jan 10 '14 at 22:15
  • 2
    There are ton of meta questions along the lines of "why don't people like beginner's questions". You seem to have done insufficient research before asking the question. (I hope you can appreciate the irony here.) – Servy Jan 10 '14 at 22:17
  • 2
    Preach. I am personally a beginner and asked a question on making python executable and asked if It could only be done with py2exe or if it was possible without and was flagged as a duplicate question. The question was rather old and was directed towards python 2.6. I read the question prior but I use 2.7. How was I, a beginner programmer, supposed to know the answer to 2.6 would apply to 2.7? – Jordan G. Jan 10 '14 at 22:26
  • 3
    @FOTG: Did you explain why py2exe wasn't a viable solution for you? – user102937 Jan 10 '14 at 22:27
  • related: Introduce a “general reference” close reason – gnat Jan 10 '14 at 22:30
  • @RobertHarvey I reviewed the question and I did not. I will watch for that in the future and try to make my situation clear. – Jordan G. Jan 10 '14 at 22:35
  • @FOTG consider that you did get an answer, and to an extent, you helped the site by making a question that ended up linking to another question. Its not that your question was closed, but rather a pointer to the proper question was made. That said, you might want to look at that other question for reference for the future on how to ask a better question ("Making a python program executable stuck" - the "stuck" doesn't help in the title, the background doesn't help much in the question...). People did a good job at tracking down the duplicate for you and now you know a bit more. – user213963 Jan 10 '14 at 22:42
  • @JohnDibling: Regarding your "why this was downvoted" (and it wasn't me who did so): Voting is different at Meta. It frequently has nothing to do with question quality; it's often used to signify agreement/disagreement with a point of view or idea, particularly when a question is a feature request. It's not the same as the other SE sites. – Ken White Jan 10 '14 at 22:42
  • 3
    @Servy: I've done research. I understand why people don't like beginner's questions. Some feel they aren't interesting enough for the answerers. Some feel that answering such questions would not help others, thereby the question is too localized. Others feel somewhat offended, frankly, that they would be bothered by such a trivial question. That's not my question here. My question is, can a trivial question be on-topic? – John Dibling Jan 11 '14 at 23:29
  • 1
    @KenWhite: I'm aware that, in theory voting is different on meta. However, I'm not taking a stand here. I'm asking for a definitive answer. There is nothing to disagree with as I haven't asserted anything. Beyond that, the reality is that voting on meta isn't all that different from voting on the main site. People vote on meta all the time to indicate their displeasure that the question was asked. – John Dibling Jan 11 '14 at 23:40
  • @JordanG.: Sorry, but I would have closed your question, too. Two reasons -- you really buried the lead that using py2exe was not viable for you, and two, it was a duplicate question. The linked duplicate's highest-voted answer offers an alternative to py2exe. If that answer is also not acceptable, then your question wasn't clear enough with respect to your requirements, and it should have been closed for that reason as well. (I guess that's three reasons.) – John Dibling Jan 11 '14 at 23:46
  • @JohnDibling: Sorry, but I don't see it that way. I've voted up or down on feature requests because of the idea proposed, voted up or down questions based on the quality of the question (as would be done at SO). I don't recall ever having voted down a question simply because it was asked here and displeased me. – Ken White Jan 11 '14 at 23:56
  • 2
    @KenWhite: I'm not suggesting that you do that. Due to the anonymous nature of votes, I'll never know for sure who does. Or, if I'm honest, that anybody does at all. But it seems pretty obvious to me that it happens all the time. Beyond that, voting on meta is exactly the same as on the main site in terms of its effects -- it decreases reputation in the same way, which effects the user's privilege levels. If voting were truly different, then my privileges on meta would be the same as they are on the main site. – John Dibling Jan 11 '14 at 23:59
  • Relevant reading on the issue of elementary questions: meta.stackexchange.com/questions/158289/… and meta.stackexchange.com/questions/184961/… – jball Jan 14 '14 at 22:05

The difficulty here arises due to the need for a question asker to have some basic, fundamental knowledge of their craft.

Here's why (a trivial example):

GURU: Double Click the Foo Icon.

GURU: Double-Click the Foo Icon.
USER2: What do you mean?
GURU Click it twice with your mouse.
USER2: What's a mouse?

You can immediately see the problem, can't you?

When you ask a programmer how to do something, the expectation is that you have enough knowledge to understand the answer. In most cases, this means that your knowledge will extend beyond simple syntax and other things that can be readily learned from a programming book, or a wealth of tutorials that are available for free on the Internet.

  • 3
    I agree, however, with the new close reasons what would these be closed as? Or should they just not be closed and downvoted? – hichris123 Jan 10 '14 at 22:35
  • 3
    In most cases, these are going to be "Too Broad." Certainly, if they are answerable in short form, go ahead and answer them. Many of these basic questions are duplicates. – user102937 Jan 10 '14 at 22:36
  • 2
    While I agree with your answer, I highly disagree with "if they are answerable in short form, go ahead and answer them" in your last comment. Like answering off-topic questions, it encourages other questions of the same nature. My understanding of SO has always been that it was never intended to be a "Programming 101" tutorial site; there are plenty of those available elsewhere. – Ken White Jan 10 '14 at 22:46
  • 3
    @KenWhite: Well, where does it say that, exactly? – user102937 Jan 10 '14 at 22:48
  • Where does it say what? I'm not sure what you're questioning - is it the part of your comment I disagree with, or the not a programming 101 site? We've always expected people to at least have a minimal understanding; if they didn't, we'd flood the site with "How do I add 1 to this variable? int a = 1; ??", and then a new question about "How do I add 2 to this variable? No, that's not the same - it asks about adding 1, and my question is about adding 2" type posts. – Ken White Jan 10 '14 at 22:52
  • 2
    @Ken: Then let me go ahead and sort of disagree with you there and say that it is my understanding that anyone was welcome with their questions, so long as they demonstrated enough basic understanding of the subject matter to grok the answers that you give them. In my experience, vague, underspecified, chatty questions with poor spelling and grammar have always been the greater problem. There is, of course, nothing wrong with politely suggesting that a user pick up a good book. – user102937 Jan 10 '14 at 22:56
  • 2
    @Ken: The whole "I'm trying to add 2 and not 1" thing is a bit of a straw man. Small variations on the same theme can be closed as a duplicate of the same original question. – user102937 Jan 10 '14 at 22:59
  • 1
    Yeah, I own the movie. :-) My objection is to "go ahead and answer them", exactly as I said. They should just be closed as dups, not answered. I've been dealing for the last two days with searching for duplicates to help close these types of questions because of the flood of them that are showing up. I've seen that exact sort of question more than once recently; it's not a straw man. (I don't have a link handy, I'm afraid. I looked for one briefly, but didn't see one. They may have been deleted already.) I'm also seeing tons of questions like this one – Ken White Jan 10 '14 at 23:06
  • 1
    @KenWhite: Absolutely; closing as duplicate is always the first line of defense. – user102937 Jan 10 '14 at 23:08
  • 2
    @KenWhite part of the problem in that (I do agree though) is the system. It takes 5 people to close it... in the review queue (queue appropriate links). It takes 1 person to answer it, and they may get 15 rep for it. This disparity of difficulty and rewards (finding the dup vs answering the question) makes it difficult. – user213963 Jan 11 '14 at 5:52
  • 2
    @MichaelT: My point exactly, and the very reason I objected to Robert's comment. The effort should be to close it, and not to "go ahead and answer them if you can". – Ken White Jan 11 '14 at 5:56
  • 2
    @KenWhite: If a user can construct an otherwise good question, with source code and clarity, and they can understand the answer, then why should "Programming 101" questions not be permitted? The (link you provided)[stackoverflow.com/questions/21053673/hello-c-u-help-me] is obviously not an example of such a question. I would have closed that question myself. – John Dibling Jan 11 '14 at 23:26
  • 1
    @KenWhite: But you also said, "My understanding of SO has always been that it was never intended to be a "Programming 101" tutorial site." From that I took that you feel that Programming 101-level questions should not be asked here at all. Is that not what you're saying? – John Dibling Jan 12 '14 at 0:03
  • 2
    @KenWhite: Do note that "prior effort" was never something that SE required of a question. They do require that you formulate a question that can be answered by the community without having to guess at the OP's level of expertise or provide extended tutoring, and while that often equates to showing effort on the OP's part, it's not quite the same thing. – user102937 Jan 12 '14 at 0:10
  • 1
    @JohnDibling: Not if the question can be answered in a way that the asker can understand it without you having to write a book. – user102937 Jan 14 '14 at 16:42

You'd probably be happier if these things got closed as duplicates. However, it is real work to track down a good reference question. On the other hand, the triviality of the matter leaves people absolutely convinced that the duplicate is out there, let alone all the other myriad resources that explain & and |.

  • If they are legitimate duplicates, and the dupes could be found, I'm obviously fine with the closure. However I sincerely doubt that's why these questions are getting closed. As noted in my OP, the sentiment here isn't that the question had been asked here before, but that they should learn this on their own and not bother us with such elementary questions. – John Dibling Jan 11 '14 at 23:36
  • 3
    However, if every question that can be answered through the asker's own research are off-topic because they could have found the answer themselves, then every question would be off-topic. After all, every single thing that is known about programming was learned by someone on their own at least once without having to ask someone else for the answer. – John Dibling Jan 11 '14 at 23:36
  • 1
    @JohnDibling, I think there are lots of questions where it shows that there was not really done any effort on trying to find a solution, and a beginners questions about basic operators, or whitespaces (as I have seen in another post) are too basic as SO shouldn't be a beginners 101 course. Another problem is, that, when trying to find a solution to a problem, SO turns up high in the ranks, and it is really annoying to find beginners questions with wont titles polluting google, so that you have a hard time finding anything usefull anymore. – Devolus Jan 14 '14 at 7:48
  • 2
    @Devolus: "SO shouldn't be a beginners 101 course" Why not? – John Dibling Jan 14 '14 at 12:47
  • 1
    @JohnDibling, as far as I understand, that is not what SO wants to be. And don't you think that somebiody is better off looking into a book, to at least learnt he basics? Do you really constantly want to see questions like the one above here? – Devolus Jan 14 '14 at 14:46
  • 5
    @Devolus: See, I disagree. I have always thought that SO's mission was to be the authoritative Google source for all programming questions. Yes, people should read good C++ books. No, I don't want to constantly see an unending stream of crappy questions where people essentially want to be spoon-fed. But some beginners -- more than I think we give credit for -- are not trying to be spoon-fed, but are leveraging a resource I never had when I was coming up: the ability to bounce well-articulated and reasoned thoughts & questions off of experts who have given thought to the matter. – John Dibling Jan 14 '14 at 15:30
  • @Devolus: Consider case-in-point: stackoverflow.com/questions/21100227/… – John Dibling Jan 14 '14 at 15:30
  • 1
    @JohnDibling, that question is IMO a bad example, because even though it is beginners problem, it is clear that the poster has enough grasp of the language that you don't need to start at the level of "What is a compiler, how do I save my sourcefile?", and he has apparently put some effort in the solution himself. I can even sympathizem because I know that this kind of problem can be hard to find, but there are enough questions where the poster never fired a debugger. – Devolus Jan 14 '14 at 15:36
  • 1
    @Devolus: Sure, but but here's my basic question: should questions like the one I just linked be considered off-topic simply because it's a beginner's problem? Because I don't see how we can say "Programming 101 questions are off-topic" and not include that one along with them. – John Dibling Jan 14 '14 at 15:38
  • @JohnDibling, I think there is a distinction between the "debug me" or the "What is a whitspace" basic question, and one where somebody says "I got a homework and I'm stuck" and if the question would be about "can I put more than one space between symbols", then I would consider it to be a so basic question that it should be OT. – Devolus Jan 14 '14 at 15:43
  • 1
    @Devolus: I think that with a little more elaboration, that viewpoint is worthy of being posted as an answer in its own right. – John Dibling Jan 14 '14 at 15:48

Lets define trivial as: "covered explicitly in language tutorials/book for beginners".

There is a common consensus that the fact that something can be found via Google doesn't make the question off-topic, because we'd like ultimately Google results point to SO. Answers to non-trivial questions cover practical problems that have the potential of being helpful to many users, and they're often not an exact copy, but rather a compilation and/or transformation of information found via Google, often with additional explanation in a particular context.

On the other hand answers to trivial questions are so basic they can't be much more than just copy&paste from one of many freely available tutorials. Number of possible trivial questions is enormous in relation to non-trivial questions. For example, if users are allowed to ask about the basics of C++ operators as in questions linked by OP it would then ultimately SO will be just littered with trivial explanations of each part of the language syntax. This is pointless, because answers to these questions won't be helpful to anyone in the future: other users being equally lazy won't find this answer via Google - they will just ask it again. Also it spoils Google search results, when you're interested in an official reference (example - two SO links before the documentation links).

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