There was a bit of a tussle earlier about a specific question related to why a specific line of JavaScript code was crafted the way that it was:

What's the point of initializing a variable with the same value twice?

The details are documented elsewhere, but suffice it to say there's obviously some confusion about whether these questions are on-topic here.

Our FAQ states the following:

Programmers — Stack Exchange is a site for professional programmers who are interested in getting expert answers on conceptual questions about software development. If you have a question about…

  • design patterns
  • development methodologies
  • software architecture

... then you're in the right place to ask your question!

Additionally, the blog post that introduces Programmers defines the distinction between Programmers and Stack Overflow as such:

In a nutshell, Stack Overflow is for when you’re front of your compiler or editor working through code issues. Programmers is for when you’re in front of a whiteboard working through higher level conceptual programming issues. Hence the (awesome) whiteboard inspired design!

Stated another way, Stack Overflow questions almost all have actual source code in the questions or answers. It’s much rarer (though certainly OK) for a Programmers question to contain source code.

In this specific question, the asker isn't working through issues with their code, they're asking a higher-level conceptual question about why the code was designed that way.

Finally, after speaking with the Stack Overflow moderators, they believed it was only just barely on-topic on Stack Overflow, but on the subjective side.

Given this background, are these questions on-topic here? If so, why? If not, why not?

  • For the variable initialization question, which FAQ bullet point do you think it falls under? I know you left 3 of them in this post, but I'm not seeing how it falls into the categories defined by any of them. If you could elaborate on that, it might help.
    – Thomas Owens Mod
    Nov 29, 2011 at 20:13

4 Answers 4


I personally think that these kinds of questions, and this question in particular, is a better fit for Stack Overflow, as it deals specifically with code syntax and usage. Had it been a more "conceptual" question (in the vein of "How is this technique useful in my software design?"), I would consider it a better fit here.

That said, questions should be migrated, not because they are a better fit on some other site, but because they are clearly off-topic on the originating site.


JoeMo asked:

What's happening here and how are these two declarations different?

I see this as asking :

"What does this code do?"


Why the code was designed that way?

That is why i voted for the migration... Just my 2 cents.

  • +1 The asker was asking a language mechanics question specific to javascript in which the asker did not understand what the code was doing, and therefore asked "what's the point?"
    – user606723
    Nov 29, 2011 at 20:05
  • I agree. I can see it Mark's way and I can see it this way. I think that's why there was a misunderstanding, not necessarily because the FAQ is unclear.
    – Nicole
    Nov 29, 2011 at 20:07

I think part of the problem with this particular question is that the title didn't match the body. The title asked a conceptual design question, but the body asked a syntax question. An edit to make them match one way or the other would make things much more clear.

The reason I voted to migrate was because without the basic syntax understanding he didn't have the background knowledge necessary to debate the merits of the conceptual design. Hence, I let the body text take precedence.

Also, I know not everyone subscribes to this philosophy, but one way I judge a question is by the answers it receives. In this case, the answer was directed toward the syntax end of the spectrum, rather than the conceptual design side, which means the answerer saw it as more of a syntax question as well.


I think they are off-topic here. They aren't about the whiteboard-level design questions. Once you move from system architecture and design to having your IDE open, you move from Programmers to Stack Overflow.

I also don't see which category of on-topic question the JavaScript snippit question falls under. In your quote of the FAQ, you left design patterns, development methodologies, and software architecture. It's none of those. I could be mistaken, but if it doesn't fall into a category of question that is called out in the FAQ, then it's off-topic and should be closed/migrated.

Honestly, Stack Overflow is the best place for this question as it stands now. I would rather honestly see it on Code Review, but their FAQ explicit disallows questions about "trouble-shooting, debugging, or understanding code snippets".

  • Hmm, I can see how code-review relates to understanding code snippets, but honestly, I think it poaches too much from the purpose of Stack Overflow.
    – Nicole
    Nov 29, 2011 at 20:08
  • @Renesis I thought about that. The difference I see is "what does this do" versus "how do I do X". One is where you have working code, are reading it, and trying to understand it and the other is when you don't have working code/your code doesn't compile/doesn't behave as expected. If CR doesn't want those questions, SO is the best place for them, since it's after the "whiteboard" and conceptual phase.
    – Thomas Owens Mod
    Nov 29, 2011 at 20:12
  • Can you explain why you don't believe lazy initialization is a design pattern?
    – user8
    Nov 29, 2011 at 20:20
  • @Mark A design pattern is a reusable solution to a commonly occuring problem. I consider lazy initialization is a technique or tactic that helps develop a solution, not a solution in and of itself. It is used as part of patterns, such as Factory Method. To the best of my knowledge, it's not included in any of the traditional pattern repositories or pattern dictionaries as a patten in its own right (but I could very well be mistaken).
    – Thomas Owens Mod
    Nov 29, 2011 at 20:27

You must log in to answer this question.