Sometimes I want to learn about a new programming related issue—topics such as DB ORM, search indexer, identity providers, logging, etc.

When I don't know anything about a subject, I ask for benchmarks or comparisons. I got some serious answers like links to tests, pros/cons, and Gartner's reviews. I found these very constructive and helpful. But then the question was blocked or deleted. Sometimes this happens even before I get an answer.

So where would it be more appropriate to ask questions about third party products and/or open source frameworks with which I am completely unfamiliar?

  • @Vigbyor yeah, quite a mess luckily Mr. Gray came for the rescue. :) – Shadow 10 Years Wizard Jul 31 '13 at 7:20
  • 1
    Here maybe (once it launches) – asheeshr Jul 31 '13 at 7:23
  • 1
    Regarding comparisons between specific frameworks and such, there is so much stuff out there on the general Internet... the general consensus is that these kinds of questions tend to fare badly within the constraints of the Stack Exchange format. – Pekka Jul 31 '13 at 7:28

It's okay to ask questions about things that you don't know anything about, and if they're programming-related topics, those questions belong on Stack Overflow.

The problem with your questions is not so much with their topic as with their open-endedness. You're not asking specific, answerable questions about a product/framework, but rather for a recommendation of which to use. The Stack Exchange model of Q&A is not really amenable to this type of question. This is covered specifically in the Help Center on all Stack Exchange sites, in the section about the types of questions you should not ask. For example, here is what the page on Stack Overflow says:

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

If your motivation for asking the question is “I would like to participate in a discussion about ______”, then you should not be asking here. However, if your motivation is “I would like others to explain ______ to me”, then you are probably OK. (Discussions are of course welcome in our real time web chat.)

To prevent your question from being flagged and possibly removed, avoid asking subjective questions where …

  • every answer is equally valid: “What’s your favorite ______?”
  • your answer is provided along with the question, and you expect more answers: “I use ______ for ______, what do you use?”
  • there is no actual problem to be solved: “I’m curious if other people feel like I do.”
  • you are asking an open-ended, hypothetical question: “What if ______ happened?”
  • your question is just a rant in disguise: “______ sucks, am I right?”

(The above section was adapted from MetaFilter’s FAQ.)

Some subjective questions are allowed, but “subjective” does not mean “anything goes”. All subjective questions are expected to be constructive. What does that mean? Constructive subjective questions:

  • inspire answers that explain “why” and “how”
  • tend to have long, not short, answers
  • have a constructive, fair, and impartial tone
  • invite sharing experiences over opinions
  • insist that opinion be backed up with facts and references
  • are more than just mindless social fun

For more detail, read about our guidelines for great subjective questions and blog post about how real questions have answers.

Not all of these issues apply to the type of questions you describe, of course, but some of them clearly do. There is an actual problem to be solved, and it is indeed a real world problem, but the question is very open-ended. You're essentially taking a poll, soliciting opinions from the community, without any way to objectively judge which answer is correct. Just as bad, the answers would not be reasonably scoped—you could easily imagine an entire book written that compares two products/frameworks.

Finally, the answers that you say you found most helpful apparently consisted entirely or largely of links to off-site content. These types of answers are considered poor quality on Stack Exchange sites, and questions that tend to attract them are similarly discouraged.

Thus, I recommend avoiding asking for comparisons between products/frameworks, and avoiding asking for recommendations on which one you should use.

Instead, you should describe in detail the specific problem that you wish to solve, enumerate any important constraints that your unique situation may place on the solution, and then ask how you can achieve that. Answers to this type of question can certainly suggest products/frameworks that will be useful in solving the problem, but they are limited in scope and can be objectively judged based on how helpful they were in solving the problem.

Also see: Q&A is Hard, Let’s Go Shopping!

| improve this answer | |

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