What is an official explanation of this phrase that can be used when people get up in arms over not being able to ask questions about computer games, because they are written with programming languages. Or why stir-fry is best for late-night programming deadlines.

Has anybody actually set out to give a succinct and clear description of what this really means. I understand that we already have the current one:

Questions on Stack Overflow are expected to generally relate to programming or software development in some way. This question is very far afield from programming.

But apparently "relate to programming or software development in some way" seems to permit talking about items that many in the community feel aren't really programming-related, like how to find archives of old IRC chats from popular programming rooms.

If this question produces a good description, this would make life a lot easier. Nearly all arguments over what is and what is not programming-related could cease with a single reference back to this post.

So how about it, what is the criteria for determining what is genuinely programming-related?

  • A love the fact that someone flagged this offense. Man, the meta flags is my comedy hour every day :) – BinaryMisfit Feb 19 '10 at 23:04
  • @Diago: Yeah, I have to take a break from reviewing flags every now and then. They sure are wild. – Sampson Feb 19 '10 at 23:35
  • 2
    First: It doesn't matter how to explain it, these people will never get it, because they do not want to get it. Second: learn how to tag on Meta! – Ladybug Killer Feb 20 '10 at 9:25
  • 2
    Nearly all arguments over what is and what is not programming-related could cease with a single reference back to this post. BWAHAHAHAHAHAHA You obviously have not seen just how finely a programmer can split a hair. – Pollyanna Feb 20 '10 at 16:35
  • @John: "Definitions" seems pretty self-explanatory as I'm asking for a definition here. And "Support" since I'm open to getting an "official explanation" as mentioned in the first sentence. – Sampson Feb 20 '10 at 17:49
  • @Jon: "support" and "discussion" are two different categories on Meta. As a diamond I expect that you know this. No-one needs a "definitions" tag. Do not invent tags, if you do not have to. – Ladybug Killer Feb 21 '10 at 11:55

Programming related means that the same question wouldn't make sense if you substituted "lawyer" or "accountant" for "programmer".

  • 1
    +1 Nice acid-test. – Sampson Feb 19 '10 at 22:32
  • 3
    "How should a programmer write a program to output 'hello world', using the g++ compiler?" Answer: in exactly the same way a lawyer or an accountant would. Profession has nothing to do with it. – nb69307 Feb 19 '10 at 23:33
  • 2
    @Neil: Best chair for programmers. Best keyboard for programmers. Best mouse for programmers. Best cubicle toy for programmers. Best monitor for programmers. Best shoes for programmers. Best condom for programmers ... :) The intent is pretty obvious. :) – John Rudy Feb 20 '10 at 0:50
  • @State: while that's true, if the intent of this is to settle arguments then any statement that's not explicitly clear isn't gonna do much. – Shog9 Feb 20 '10 at 1:34
  • 5
    @Neil: a lawyer wouldn't write a "hello, world" program. He'd take a real programmer to court, and get an injunction forcing the programmer to write the "hello, world" program. – John Saunders Feb 20 '10 at 2:29

I like this enumerated approach. You can link to the blog post, referencing the appropriate item number.

The Enumerated Guide to What Exactly Constitutes
a “Programming Question”

From the blog post, (A Question About Questions).

The current results for which type of “programming related” questions are appropriate on Stack Overflow, in order by votes, are:

[ These items map strongly to my idea of what we built Stack Overflow for. ]

  1. Questions intended to resolve a specific programming problem that have multiple possible answers. As with this answer, but the “correct” response is subjective.
  2. Questions intended to resolve a specific programming problem that have only one correct answer. A “specific programming problem” can be defined as a problem that exists in code and that can be resolved with correct code (or cannot be resolved at all). These questions are normally language-specific.
  3. Questions about language-agnostic algorithms for hypothetical problems that have potential real-world applications. For example, traveling salesman or BSP.
  4. Questions about best practices and other aspects of programming, including use of software tools used in the development process, standards for maintenance and readability of code, advice to avoid potential coding pitfalls, etc.
  5. Questions about software tools that, while not directly related to software development, involve some scripting or programming themselves, for example, Excel or Matlab.
  6. Questions about hypothetical problems that don’t necessarily have real-world applications, for example “code golf” or the “FizzBuzz problem”.
  7. Questions about social engineering, management, or career building, ergonomics, or other “soft” topics related to development work.

    [ These items… not so much. ]

  8. Questions about hardware considerations such as server environments, building an optimal machine, problems with hardware, etc.
  9. Questions about programmers’ favorite things (e.g. cartoons, books, movies, pop culture references).
  10. Polls about what StackOverflow is for (like this one).
  11. Questions about software not directly related to programming, such as Microsoft Word, or usage (not programming!) of device drivers.

"Learn it. Know it. Live it." -- Brad Hamilton, Fast Times at Ridgemont High

  • FWIW, those numbers are waaaay out of date now. Might want to have a look at the poll they were drawn from (now on Meta: meta.stackexchange.com/questions/12373/… ) Though interestingly enough, the order is still pretty much the same. – Shog9 Feb 20 '10 at 2:23
  • @Shog9 - Very true. Rather than updating, I removed the vote counts but left the list intact. The significance of this list is that it was "confirmed" as accurate by the blog post. If the content changes significantly over time, it can be updated. But I didn't want to negate the intention of the blog post. – Robert Cartaino Feb 20 '10 at 14:24

You are obviously going to get N different answers to this, and (perhaps not surprisingly) I think the close-reason text is pretty poor, but to me programming related means something to do with WRITING a program. If I was to go into ultra-purist mode (and some say I never get out of it), I would say a question is not programming related if it cannot be answered in code in an existent programming language.


The problem with this question is that there is no unequivocal meaning. The phrase can be interpreted differently by everybody on SO (although it's the opinions of the 3K+ that matter most). One of the stated intents was to let the community steer SO, and this is one way we do it.

My usual test is the same as Greg's (would it make sense on UnbalancedColumns?). I'm more liberal than some and less liberal than others.


Programming related means that it's related to the actual technical art of computer programming, and not any of the externals surrounding programming and programmers.

  • +1 Short and sweet. – Sampson Feb 19 '10 at 22:30
  • 2
    -1: This would exclude much of the social practice (e.g. team organisation, waterfall vs. agile) that is key to effective development. – Richard Feb 20 '10 at 10:54

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