# Does SO really allow “All questions related to programming?” [closed]

Oftentimes when people are discussing SO and having a math site like it they say things like "all questions related to programming are allowed at SO." Now I haven't spent much time at SO but I don't think this is true. For example, I suspect the following questions are not ok (i.e. would be closed or edited) at SO despite being related to programming:

1) What computer should I buy if I want to learn how to program? 2) How do I install Python on my computer? 3) Could someone give me an intuitive understanding of how to associate a value with a subclass in c#. 4) How do I write a sort routine in C++? 5) I want a data structure to do foo in C++, please explain this without using anything complicated like objects or classes.

• just going to ask this! In answers, I think it'd be useful for someone with SO experience to flesh out what SO is like, besides saying it's more open than MO (that's mostly what I've seen in re: SO in this SO-MO "debate" so far, and it's not terribly useful for me in getting a sense of how SO really has worked.) – Jamie Banks Jul 23 '10 at 17:23

I'm inclined to say yes. In the SO FAQ, the "What kind of questions can I ask here?" answer does give some guidance and some preferred types of questions, but the "What kind of questions should I not ask here?" answer says Avoid asking questions that are subjective, argumentative, or require extended discussion. at the top and then pretty much just talks about questions that belong on other SE sites.

edit: I should point out, as Kaestur already has in a comment and as in John's answer, questions like "How do I write a sort routine in C++?" are likely to get pushed around a bit as (a) they come off as homework and (b) it's fairly common to take such a specific question as an indicator that there is some more serious actual issue and try to dig to get at the real problem rather than solving the surface issue (I've seen this most in python questions where someone asks how to do (something) and the answer that ends up being the best is "you really shouldn't need to do (something), but you are probably trying to accomplish (something else) which is best done by (some other answer)").

• Thanks for looking up the examples. Just want to add that 4 as Noah worded is likely to get standard homework question treatment. – Larry Wang Jul 23 '10 at 17:47
• @Kaestur: Very true. I've edited to try to clarify that somewhat. – Isaac Jul 23 '10 at 17:56
• I think your examples are all significantly better and different questions than the questions I asked. Especially 2, 4, and 5. – Noah Snyder Jul 23 '10 at 19:53
• @Noah: A closer equivalent to your #2 is probably this, which got helpful answers. Your #5 is too vague to find good matches for. I thought the one Isaac found was a reasonable match to the spirit of the question. If you disagree, could you clarify what you want? – Larry Wang Jul 23 '10 at 21:23
• Indeed that's a better example. For question 5, "what is a class" is a reasonable question that people might have, "how do you do something that should involve classes without using classes" is a bad question, the right answer is "suck it up and learn about classes." In the same way one might argue that the right answer to a lot of the "what's a layman's way of understanding x" is "you just need to suck it up and learn x." – Noah Snyder Jul 23 '10 at 23:52
• @Noah: I think this question fits your description. – Larry Wang Jul 24 '10 at 4:14

Stack Overflow originally and currently allowed any question that could be objectively answered that pertained directly to programming.

However, the community looks down on some questions styles. For example #4 and #5 on your list look like [plz-send-teh-codez] questions.

So, almost all of your examples are allowed, but may not evoke a positive response from the community.

• So perhaps one source of differences is that SO has enough questions that bad questions fall off the front page quickly so can be ignored rather than closed. Similarly it seems that SO has a good enough ratio of serious users that they're not worried about bad questions getting upvoted. I'm not convinced that either will be the case here unless we start out by getting rid of bad questions to let the right community grow. – Noah Snyder Jul 23 '10 at 18:02
• @Noah: What do you mean by a 'bad' question? – Larry Wang Jul 23 '10 at 21:25
• I gave 5 examples of bad questions in this thread! – Noah Snyder Jul 23 '10 at 23:51
• @Noah: You didn't attach any explanation to your examples. If I had to guess, I would say: 1 and 2 are more appropriate to superuser, 3 is somewhat vague, 4 looks like homework, and 5 is misguided (shows a fundamental misunderstanding of C++). But I'd rather not have to guess. In any case, Isaac and I have dug up enough examples to show you that all of those questions get asked and get answered at StackOverflow, and I doubt anyone would say StackOverflow is worse for it. I think it's time to extend your question or accept his answer. – Larry Wang Jul 24 '10 at 4:18

In the past year or so, Stack Overflow has tended to require more and more that questions be directly related to coding; there is a general expectation that a question should involve source code, or directly ask how to write source code to perform a specific task. Questions of a more “whiteboard” nature, such as those concerning algorithms and data structures, tend to be sent away to the Programmers Stack Exchange site. Questions related to the theory of programming are touch-and-go on either site (they're officially on-topic, but they often get closed or ignored), even when they stray pretty far from mathematical models into the realm of software design.

There is currently a proposed Stack Exchange site for computer science, which would cover theoretical and applied aspects alike, at all levels. I invite everyone interested in computer science to commit to this proposal.

On every site, questions are expected to follow the Stack Exchange guidelines, which prohibit questions that require extended discussion (“not constructive”), are too broad, or are rants disguised as questions. Among your examples, #1 would be both off-topic (it's about computers, not about programming) and not constructive, #2 would be ok if enough details are provided, #3 would probably be sent to Programmers (or rejected as non-constructive, depending on how much detail the question includes), #4 and #5 would likely be rejected as too broad due to the lack of effort demonstrated by the asker.