What is meta? ×
Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 131 Stack Exchange communities.

This thing have been bugging me for months...

I agree that most listing questions are subjective. Asking for the best, feature comparison or recommendations cannot be objective because they depend only on personal experience (one praise his favorites while degrading others).

I still find StackOverflow useful when I got blocked by a problem and haven't found solution with 60 minutes Googling.

But sometimes I just want to learn about something I cannot find enough information of on internet.

To name a specific case: In my free time I'm working on my pet programming language and writing a compiler to it for the sake of getting better understanding of the compilers. I got quite far: semantic analysis is done, only the machine code generation is left. I learned x86 instructions, standard stack frames, calling conventions, ELF container format, so I can make it generate raw unoptimized code, that works, but slow of course. So I want to optimize it somehow, so I want to learn from what others do.

This would made me ask "What optimization techniques current C and C++ employ?" Hoping some advanced compiler guy eventually stumbles upon it, and adds to it. So I don't need to decypher the -O3 tricks from the disassembly listings and the GCC source code... So we could build a nice content here to learn from.

Seeing that similar questions got closed quickly. This wouldn't live so long either.

Reading the opinions most of them repeat the same mantra: not allowed and doesn't fit. But no one explains why they are inherently bad for the community, the moderators and the site. Also if it doesn't fit, why not enhance the site to make it fit somehow?

Sometimes I have a feeling that we are throwing out the baby with the bath water.

So to summarize:

Is SO reserved only for blocker issues you encounter in your everyday programming/development work?

If yes, than that would be the killer argument. So if you don't got stuck at a problem, go away. (Should be a first point of the site FAQ...)

OR

Or more generally: Should I ask a question on StackExchange sites if and only if I can expect someone to know the complete answer?

UPDATE

Ok, reworded the question a bit, since it the original implied the only 1 person can answer it. Probably the new version won't imply it. (I'm not a native English...)

A bit clarification: the common point of list questions that people only contribute to a large bucket, but no one out there who can know the entire list...

share|improve this question
5  
Well, a question like "What optimization techniques current C and C++ employ?" would be pretty much far too broad. I would not be surprised that a 60 minute Google sessions does not give you the answer. The set of literature you'd have to wade through is quite substantial, I assume. And yet, that should be your first step towards a more targeted question. –  Bart Aug 15 '13 at 18:05
    
How are "single-shot blocker issues" and "questions where one person must know the entire answer" in any way related? –  Toomai Aug 15 '13 at 18:06
    
First question is the SO only. The second is about the StackExchange in general. –  Calmarius Aug 15 '13 at 18:23
2  
This smells a lot like the occasional "Can I ask Jon Skeet a question directly?" requests that come up. How could you ever devise a question that you really believe only one person could answer? –  Aaron Bertrand Aug 15 '13 at 18:31
1  
@AaronBertrand By "I can expect a single person to know the complete answer" I believe the OP meant "the input of more than one user is not necessary to answer the question". Not that there is only one user on all of Stack Overflow that knows the answer. –  Asad Aug 15 '13 at 18:37
    
@Asad I don't understand what relevance that has. If only one person can answer, fine, but if more people can answer, what is the problem? Why would you ever think that input from only one person should ever be complete? –  Aaron Bertrand Aug 15 '13 at 18:39
    
@AaronBertrand "Only one person can answer". This has nothing to do with whether the input of others should be excluded. There's no problem with other people answering, as long as they can provide complete answers individually. –  Asad Aug 15 '13 at 18:40
2  
@AaronBertrand The OP's asking if he can ask a question in which several people each answer part of it, so that no one answer answers all of it, but the aggregate of all of the answers does. At least, that's my interpretation. He's wondering if the answer needs to fit into a single answer, written by a single person, for it to be allowed. –  Servy Aug 15 '13 at 18:42
    
@Servy ok, well, I'm still confused so I guess I will go look at other questions. –  Aaron Bertrand Aug 15 '13 at 18:43
    
@Servy has the point. –  Calmarius Aug 15 '13 at 18:43

3 Answers 3

up vote 9 down vote accepted

You should not be asking questions on SO that cannot be answered by a single person. There are several kinds of questions that a single person can't answer:

  • Polls. Polls are explicitly prohibited. SE simply isn't a good engine to hold them in, in which everyone is posting an answer with their own opinions or responses to a given situation. They are often highly subjective, tend to be filled with lots and lots of noise (the SE answer system just isn't designed to support large numbers of answers) so what little good info there is tends to be hard to find. Voting is also...odd. What do votes in a poll mean. Popularity? That's generally not useful. SE sites require more concrete questions than this

  • Questions asking for so much info one person just can't answer it all. Something like, "How do I program in C++?" These are simply "too broad" for an SE question. We're not here to write books as answers. Questions need to be much more specific than that.

  • A question asking multiple questions, in which someone might know one but not the other. These should just be broken up into different questions. Post them separately, and then it forces them to be answered separately, which is preferable. If the questions are somewhat related, and comments/answers on one may help another, put links to the others in the question as "related content" for the sake of readers.

share|improve this answer
    
I will accept this. This was something I expected. But asking for a compherensive list is not a poll... I don't want to know the best, your favorite, etc... I think community wiki was originally reserved for cases like this: encouraging everyone to edit an answer to add more details. I would revive CW: but in that mode there would be a single editable answer and no voting buttons. –  Calmarius Aug 15 '13 at 19:40
    
@Calmarius List questions are also not allowed here, mostly because of the huge amount of effort it takes to maintain them, the fact that they're very likely to be localized, etc. Again, they don't fit the format of the site, and thus don't belong here. –  Servy Aug 15 '13 at 19:45
    
"because of the huge amount of effort it takes to maintain them" I don't see why would it be huge effort. If CW would have single editable answer containing a big list, then all maintenance I see is adding new notable items when they pop up. –  Calmarius Aug 15 '13 at 20:15
    
@Calmarius Which is a lot of effort. When it's just one question it may not be horrible, but when there are constantly more and more questions being added all of the time, some about things that get updated rather frequently, it becomes a major problem. Once upon a time they were allowed, and precisely because they were virtually never updated (even when CW) was a large contributing factor in deciding to prohibit such questions. There are generally better sites more suited to holding onto that information. –  Servy Aug 15 '13 at 20:21
    
And how did you know they needed an update? –  Calmarius Aug 16 '13 at 13:45
    
@Calmarius Because people were constantly complaining about them being out of date, because people would see them, realize they hadn't been updated in years, and comment indicating how out of date they were, because they just didn't get edited very often in general (there are revisions to keep track of such things after all), etc. –  Servy Aug 16 '13 at 13:48

In answer to the question as asked in the title:

No.

SO is about pooling mental resources, creating a whole greater than the sum of its parts. Maybe no one person knows the entirety of what you want explained, but you can get a complete picture from the aggregated answers. Or, if one answer comes very close, someone else can edit it to add their bit.

Asking questions which you know (or are pretty sure should) have an answer; a complete answer which can be expressed without writing a book tend to help people more than nebulous, large, or philosophical questions, so the latter category should be avoided, and the former encouraged.

In answer to the longer question:

Is SO reserved for only single shot blocker issues you encounter in your everyday programming/development work?

Mainly, yes. The programmers SE site is for more theoretical stuff, while SO is technically for more concrete questions. Although in my experience questions that would be on programmers fit fine into SO, and no one recommends to move or minds. However...

Or more generally: Should I ask a question on StackExchange sites if and only if I can expect a single person to know the complete answer?

No. For the reason mentioned above.

However...

With a question like How do I write optimization into my compiler? that's... I mean, that's a huge subject. There might be a person who knows all of that, but it's not a good fit for stackoverflow because it isn't specific enough. There are many different techniques for optimizing code; code optimization is its own field. That particular class of question is a bad fit because it's too broad of a topic, and in your research that should probably have been pretty clear.

Incidentally, googling compiler optimization brought up a lot of links to sites like this one. A better approach in that particular case would be to find a list of such optimizations (like the one on that site) and pick one. If you have questions about that optimization, ask a question. This is more helpful because:

  1. You're more likely to get information you can actually use for your project, and
  2. you're more likely to help the next person slogging through a similar quandary.

edit:

TL;DR?

A good question is one that you genuinely believe should have an answer no longer than a few hundred words. It's not necessarily one which you believe one person will be able to answer entirely, but it is one which you're pretty sure can be answered entirely and succinctly.

share|improve this answer
    
I don't know why I didn't stumbled upon that obvious link you provided. Probably because I was biased on finding out how GCC in particular works.... But let's assume no such collection exist, then would it be valid question for asking for a list of existing techniques? For such questions someone could mention 5 of them, another one would mention another 3, the third one would mention yet another 10. So I get the whole picture from the aggregated answers. As you said. But isn't this exactly that kind of stuff moderators explicitly prohibit? Regardless how useful it would be. –  Calmarius Aug 15 '13 at 19:11
    
@Calmarius Useful and on topic are not one and the same thing –  Richard Tingle Aug 15 '13 at 19:21

In the FAQ it states that questions should deal with issues that are more or less global. In other words, one-shot questions are generally frowned upon.

As for the number of users who know the answer; odds are pretty good that more than one person who uses SO will know the answer. However, many times it comes down to one person who more or less guides the OP after submitting an initial answer that pushes them in the proper direction. I, personally, had one recently.

share|improve this answer

You must log in to answer this question.

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