14

Still feeling not very clear about Stack Overflow and Software Engineering after reading: rule for posting programmers vs stackoverflow, so continue to this post, here goes my questions:

"... Stack Overflow is for when you’re front of your compiler or editor working through code issues. Software Engineering is for when you’re in front of a whiteboard working through higher level conceptual programming issues..."

OK, It seems that Software Engineering is only for a higher concept question about software design and something related to that, compared with this, Stack Overflow more focuses on a detailed, code-based question——Am I right? If yes, what does "higher concept question" mean? I didn't find anything about that anywhere here, so can anyone be kind to tell me? And this means a lower-level question won't be supported and it will be abandoned? But how to say which is lower/higher? Just say if you can search out the result in google/stackoverflow/stackexchange, that's a lower-level question?

Another thing I'm thinking of is: If I'm in a white-board of a certain concept about programming but only with some rough ideas (not sure yet,all are my guesses,probably all are wrong or most of them are wrong...), so can I talk about them to fetch all of my ideas out as a considerate question(to make the question complete). I think we should do that.... Unfortunately, Karl Bielefeldt says such questions won't be supported...but if these ideas are part of the white-board question to make the question very complete.... so why and how to do to describe?

8
  • 1
  • @YannisRizos Thanks I've read about that, however that's only a rough guide. Mine includes very detailled situation;)
    – xqMogvKW
    Jun 10, 2014 at 9:24
  • To be perfectly honest, I'm not entirely sure I understand what your question is about. The high / low terminology refers to levels of abstraction, no idea what searching out the result in google/stackoverflow/stackexchange has to do with anything. And I'm completely lost on your last paragraph, perhaps you could give us a concrete example of a question you have in mind? Lastly, a link to wherever Karl wrote what you say he wrote would be very helpful.
    – yannis
    Jun 10, 2014 at 9:35
  • possible duplicate of What's the difference between Programmers and Stack Overflow?
    – Jim G.
    Jun 10, 2014 at 10:40
  • @JimG. No duplicate, my referred pharagraph comes from there.
    – xqMogvKW
    Jun 11, 2014 at 1:07
  • @YannisRizos:Thanks again but where's the link of Karl?I only see his suggestions of not posting choice-based issue...
    – xqMogvKW
    Jun 11, 2014 at 1:23
  • 2
    "Unfortunately, Karl Bielefeldt says such questions won't be supported" Where does Karl say that?
    – yannis
    Jun 11, 2014 at 8:04
  • @YannisRizos: Asking for a recommendation is off topic both places……This means if you don't know which to choose (even you are guess many ways, won't supported....):(
    – xqMogvKW
    Jun 13, 2014 at 1:53

3 Answers 3

2

Just for the record, in general I'm in favor of questions asking for help fleshing out people's rough ideas. I don't know the exact context referred to here, but I have been known to point out that such questions are likely to get closed, despite my personal objections.

Some close voters put limits on the level of abstraction people are allowed to be confused about. They want questions to be detailed and specific rather than high-level and conceptual. This is codified in the site policies as "how to start" questions being off topic. I personally find rough idea/how to start questions both useful to future visitors and interesting to myself, but unfortunately I am not in the majority on this one.

So, the place to take such questions is to chat, where all the strict close voters hang out, but who are nevertheless very newbie-friendly in there. They will help you point you in the right direction on your research, and let you know when a question is fleshed out enough for the main site.

1
  • Thanks! It seems that I'll begin a chat before asking a question here.
    – xqMogvKW
    Sep 7, 2014 at 5:59
10

Your question is interesting to me, but I am not sure that I have a final answer. If I were to take that quote ("Stack Overflow when you are in front of the screen, Programmers when you are in front of the whiteboard") and I tried to introduce more specificity, I would say:

Questions on Programmers should be answerable by citing from established literature on development practices; questions on Stack Overflow should be answerable by citing from a language or library reference manual.

By established literature I mean well-known and respected books like "Code Complete", "Clean Code", "Effective Java" ... and by reference manual I mean an ideal, all-encompassing reference that many times only exists as the source code.

Why my emphasis in citations? The problem is that some "whiteboard questions" can have multiple, equally good answers, depending on taste or particular situations. But Stack Exchange sites have a focus in their format to select a single, accepted answer (asking for multiple examples can be flagged as "shopping").

On the other hand, there are whiteboard questions that do have a single answer because there is an established practice (with measured benefits in the best case) and going against such practices will just make your code less understandable and less maintainable. Such practices are usually well-known because they can be found in the mentioned books, and they are written there because many people, over years of practice, have come to the same conclusions. Somebody would ask on Programmers because he is unaware that such a convention exists, or the convention is from a field less general than the books I just listed, like database administration.

Let me give an example of both types of "whiteboard questions":

  • "Should I limit the length of code lines?" has a definite answer, and it is "Yes", because both "Code Complete" and "Clean Code" (I think) mention that long lines are a common source of bugs, and the first even points to hard data.

  • "Should I prefix all classes that deal with persistence as Stored-?"; I have no idea, it depends on your team's conventions, or your development environment. Maybe there is even such a convention in a particular language, but then your question should specify that.

Let me also add an example on the distinction between Stack Overflow and Programmers:

  • "Should I use constants for repeated literal values?" should go to Programmers, because both "Effective Java" and "Effective C++" recommend to do so.

  • "Why is this constant in Java not working?"; maybe the answer is found on "Effective Java", but if it is something you can imagine as being part of Oracle's specification of Java (an implementation detail of the language), then it should go to Stack Overflow.

Please understand this is just an attempt at further clarification: there are probably a lot of exceptions.

3
  • It seems that I can ask more general questions on Programmers? Even if I have some general choices or recommendations?
    – xqMogvKW
    Jun 13, 2014 at 2:04
  • @CA55CE37: Yes, the questions on Programmers tend to be more general. Language tags tend to be not needed and might be largely ignored in the answers. Neither Programmers nor SO can tell you what to choose, because there are typically too many options and too many considerations to take into account to make recommendations helpful to both the original asker and future visitors. Jun 13, 2014 at 6:37
  • +1 for the quoted part. Jun 13, 2014 at 7:20
3

In general, questions should be answerable, and potentially useful to others. It's also nice if they are interesting questions.

Some questions that will not fit into these categories:

  1. Questions that require a basic level of knowledge that you don't yet possess.
  2. Questions that merely seek to engage in a discussion about something.
  3. Coding/implementation questions, for which Stack Overflow is a better fit.
  4. Water cooler or office politics questions.

You must log in to answer this question.

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