History questions are on topic on Programmers, but have proven to be particularly troublesome:

  • It's not uncommon for history questions to get closed (and re-opened, and closed, ...)
  • It's not uncommon for history questions to not show any (or very little) prior research.
  • It's not uncommon for history questions to generate highly speculative answers.

We had a history week in last year's contest. As an example of how troublesome history questions are, even the winning question didn't escape an early closure1. Furthermore, almost every answerer in my request for feedback for the contest identified the tag as particularly troublesome.

At the same time though, the history tag has given us some exceptional questions. A few random examples:

It seems to me that the majority of programming history questions are either exceptional or crap, with very few being somewhere in the middle of the quality spectrum. This makes the whole category a very interesting beast, and one that needs special treatment. My questions are:

  • Do history questions offer value to the site?
  • How do history questions pass the "practical problem" test?
  • What should our general guidelines for them be?

Related past discussions:

1 Don't get me wrong, early closures are good, especially when they lead to the question getting improved and re-opened.

This isn't really something new, it's just a clear (I hope) summary of our past discussions on history questions. I'd like to put programming history in our FAQ and wanted a single Meta discussion to point to, and all the others are build around specific questions. Let me know what you think. –  Yannis Rizos Feb 27 '13 at 9:35

5 Answers 5

Do history questions offer value to the site?

Yes, absolutely. A quick look at our highest voted history questions reveals quite a few exceptional questions and answers. The history tag is not one of our most active tags, but it does have a significant amount of questions (153 currently) and only 2 of them are downvoted. That's... impressive.

While I'm fully aware of the several valid concerns about history questions, and share most of them, I can't imagine Programmers without history questions. They are a bit special, but the exceptional ones are proof enough that the topic belongs on the site, and with vigorous moderation we can deal with the low end ones.

How do history questions pass the "practical problem" test?

Our FAQ dictates:

You should only ask practical, answerable questions based on actual problems that you face. Chatty, open-ended questions diminish the usefulness of our site and push other questions off the front page.

This is the prime directive for all Stack Exchange sites, and Programmers is no exception. However it's a directive that was written with Stack Overflow in mind and some times it proves to be more confusing than helpful on every other Stack Exchange site. If we go by a strict interpretation of the prime directive, then history questions are off topic. That, however, would also mean that 9/10 Stack Exchange sites should be closed.

On a related discussion on MSO, I commented:

I don't care at all if the problem is actual or practical (by whatever definition of practical), what I care about is the asker being serious about it, at least serious enough to have done some minimal research before s/he resorts to a community of volunteers. Intellectual curiosity is as great motivator as any, idle curiosity is a different beast entirely, one that, if entertained, will ultimately suck the life out of the community.

The prime directive's goal is to stop people from asking questions out of idle curiosity. Intellectual curiosity on the other hand can be an excellent motivator for questions, especially on sites that are focused on conceptual questions like Programmers. I think the fact that the majority of our history questions are either exceptional or crap it's because the first were asked out of intellectual curiosity and the latter out of idle curiosity.

And what divides the two is prior effort. If the asker has spend some time researching their question and reached a point where they can't get to the answer by themselves, guess what, they are facing an actual problem. A problem that, judging from the impressive answer rate of our history questions, we can certainly help solve.

What should our general guidelines be?

Intellectual curiosity is not an excuse for poor questions, our guidelines should be exactly the same as with every other question. Since history questions have proven to be troublesome, let me re-iterate:

  • Askers must do their homework

    If the answer to a history question can be found on a freely available reference site (read: Wikipedia) or the language's / system's / project's freely available documentation, then the question is off topic and will be closed as such.

    This is perhaps the most important guideline for history questions. We are not here to copy paste the relevant Wikipedia article for you.

  • Askers must share their research

    Except for the very few of us that have mind reading powers, we can't guess what you already know. Please share your research with us, to avoid having people wasting their time answering with what you already know.

  • Questions must be answerable

    From our about page:

    Programmers is all about getting answers. It's not a discussion forum. There's no chit-chat.

    Our chat room is ideal for open ended discussions on programming history. History questions on the main site, as all questions on the main site, should be focused, specific and as clear as they can be.

  • Programming history questions should be about programming history

    The focus areas of the site are software development and software engineering, not everything that's related to computing is acceptable on the site and history questions are no exception.

  • No trivia

    Trivia by definition doesn't belong on Programmers. Our chat room is ideal for discussions around programming history trivia.

I agree with this, but I'd also like to say that the general guidelines are true for all questions. It just may perhaps be more necessary to more explicitly meet the first two points in a history question than other questions. –  Thomas Owens Feb 27 '13 at 11:10
regarding idle curiosity, I wonder if there could be more guidance on when it applies and when it doesn't. For example - would the reference to public claim / common knowledge of the topic being considered substantial in the context of programming - would such a reference suffice to decide it's not an idle curiosity? –  gnat Feb 28 '13 at 9:19
just stumbled upon an MSO answer that may well apply as a requirement to history questions and answers, ..."Real questions" don't necessarily have practical answers, but they do have authoritative ones. –  gnat Mar 1 '13 at 6:29

I think a requirement of a history tag should be added. The blessing and curse of Programmers SE is that most all the topics are interesting to most all the users. History questions are the huge exception. As evidenced by the close/reopen wars, about half the users find history questions interesting and useful, and half find them inane and impractical.

Ironically, on StackOverflow this sort of situation is less of a problem because the ratio of uninteresting to interesting is so high that people are accustomed to using tags to filter out questions that are on topic for the site but personally uninteresting to them.

I think history questions are a good place to start emphasizing the tag system. The proper response if you personally don't like history questions is not to go around closing them, but to add the history tag to your ignored list, and to ensure such questions are tagged properly.


This answer is a bit of a straw-man in order to apply what's being proposed and evaluate that against past precedent.

Our Example:

Why do programming languages, especially C, use curly braces and not square ones?

was recently asked and is currently closed & locked. The lock, I presume, is pending the outcome of this Meta discussion.

Content Dispute for "Why do programming languages, especially C, use curly braces and not square ones?"

Analysis against criteria:

Askers must do their homework

Somewhat failed as I don't consider a single look-up within Wikipedia as research. But I certainly reference Wikipedia as convenient, so I'll grant the consideration.

Askers must share their research

Passed inasmuch as we're given the Wikipedia reference.

Questions must be answerable

This is both a pass and fail. The answers to that question provide some compelling evidence and / or conjecture. On the other hand, my initial take on this question was "how would anyone know that?

Programming history questions should be about programming history

Definite pass.

No trivia

Arguable pass. If there had been a more clear-cut problem to be solved then this answer would be a cleaner pass.

Past Precedent:

  1. Why was the percent sign (%) chosen as the format specifier for the printf family of functions?
    This one has a bit more research to it, but doesn't necessarily have a problem to be solved. Overall, I would consider this fairly similar to the braces question. It fails the trivia test by not having a problem.

  2. Why is $ in identifier names for so many languages?
    No research; no problem to be solved; pretty much a curiosity question only. I'd argue this is a weaker question than the braces question. This one is still open even though it qualifies as trivia without having a problem.

  3. Why pointer symbol and multiplication sign are same in C/C++?
    No research but does have a problem to be solved. Interestingly, the answers are actually more valuable than the original question scope because they extend into the more general problem of parsing issues.

  4. Do any languages use =/= for the inequality operator?
    Equivalent research (Wikipedia) but no problem to be solved; mostly an intellectual curiosity question. Without a problem to solve, this is likely trivia.

Some commonalities:

Those four questions share minimal to no research as well as being equally difficult to assess on the answerable category.

Three of the four qualify as trivia, but are currently open.

My thoughts / conclusions:

The assessment of the recent braces questions would indicate it should remain closed, but past question precedent contradicts the results of the assessment and that the braces question should be opened back up.

The assessment also doesn't take into account the great answers that the braces question has attracted. I acknowledge though that it's impossible to make an a priori determination like that though. The answers, though, place the question within the ranks of the more interesting historical questions.

Since this is in meta -

Vote up if you agree with my application of the assessments from above and that we need to keep working out the details of the assessment questions to improve them.

Vote down if you think I woefully missed something in the application.

I get the feeling that you are trying to find practical problems in the questions but when it comes to history questions, intellectual curiosity is the problem to be solved. It might not be as practical a problem as with every other question we have, but if you've honestly tried to find an answer, and you're stuck, it's definitely a problem and we can help you solve it. –  Yannis Rizos Feb 27 '13 at 17:09
@YannisRizos - good point since I always have to find the practical problem. :-) However, if intellectual curiosity is a sufficient problem, then asking whether or not the question is trivial becomes a moot point. –  GlenH7 Feb 27 '13 at 17:34
Part of the challenge with history questions is that one is not always able to determine if something is speculation or if it is answerable prior to the answers being given. Even without providing an absolute "XYZ said" one can identify the chains of evidence and thought that lead to a specific historical event. –  MichaelT Feb 27 '13 at 17:47
@Yannis: If intellectual curiosity and good-faith effort at doing your own research before asking were the only criteria for practical problems, there would be a whole category of questions that you could ask here that would otherwise be off-topic. –  Robert Harvey Feb 27 '13 at 22:14

As far as I can tell, good history question is one that evolves into a retrospective case study.

Practical purpose of case studies is explained eg in Wikipedia article:

...an intensive analysis of an individual unit (e.g., a person, group, or event) stressing developmental factors in relation to context... Case studies may be descriptive or explanatory. The latter type is used to explore causation in order to find underlying principles. They may be prospective... or retrospective (in which criteria are established for selecting cases from historical records for inclusion in the study).

..."Case studies are analyses of persons, events, decisions, periods, projects, policies, institutions, or other systems that are studied holistically by one or more methods. The case that is the subject of the inquiry will be an instance of a class of phenomena that provides an analytical frame — an object — within which the study is conducted and which the case illuminates and explicates."

Another suggestion is that case study should be defined as a research strategy, an empirical inquiry that investigates a phenomenon within its real-life context. Case study research can mean single and multiple case studies, can include quantitative evidence, relies on multiple sources of evidence, and benefits from the prior development of theoretical propositions...

Case studies balance the need to understand something big (something that would be too broad / NARQ in Stack Exchange terms) with a limitation of being sufficiently specific to allow for reasonably scoped productive learning.

  • Say, one shouldn't ask at Programmers what do I need to know about mission critical projects - that would be too broad for our format. Instead, one asks What is the Mars Curiosity Rover's software built in? - that's still tough but at least something we can handle.

Similar to Stack Overflow, Programmers questions (including history ones) serve the purpose of picking and applying programming technologies. The difference is, due to conceptual nature of Programmers questions, the purpose could be not as immediate / direct as at Stack Overflow...

  • If you ask about mission critical software a week before interview, you're probably few months too late: few months ago, you should ask yourself whether you are interested, and what would you want to understand about doing software development in this context.
  • And you don't necessary need to understand the context of mission critical software development just because you are involved. In fact, it can be opposite:

    Hey you suggest us Fagan inspections, why? I mean I perfectly understand how these are justified in mission critical projects, but how does this apply to our non-critical application, compared to lightweight reviews?

Summing up, I believe that history questions can serve a practical purpose, sufficiently compliant with Programmers topics (if done right).

Of course, above assumes these pass through community moderation, business as usual. Questions that do not fit get closed per standard close reasons, answers that don't fit get downvoted / flagged / deleted per usual community quality control:

[...] real questions have answers, not items or ideas or opinions.

..."Real questions" don't necessarily have practical answers, but they do have authoritative ones.

* How can historical questions be on topic?

They can never be (in the how-to-solve-a-problem meaning) and they are very unlikely to be of practical use. There is only the decision to allow them at all. Therefore, if they are allowed, the criteria of practical use and being on-topic must be summarily abandoned.

* Do history questions offer value to the site?

This is the deciding factor for or against allowing them. The alternative is bits and pieces on Wikipedia as the fancy strikes self-proclaimed programming historians that hang there.

* It's not uncommon for history questions to get closed (and re-opened, and closed, ...)
* It's not uncommon for history questions to not show any (or very little) prior research.
* It's not uncommon for history questions to generate highly speculative answers.

All three are of course entirely irrelevant arguments for allowing or disallowing "questions of type x". And not because all three traits are present in all the other types of questions.

* Askers must do their homework

Insofar as such is attainable, this is the same as for other types of questions. Likely, however, a history question is necessary because there is a real scarcity of programming history to be googled out there.

* Askers must share their research

Yes. Same as for other question types.

* Questions must be answerable

They likely will be, although perhaps not in a few weeks for the more obscure ones. Fuzzy wording should be treated the same as for other question types, of course; close, ask for a properly phrased question, possibly reopen.

* Programming history questions should be about programming history

If not, close it as not a real programming history question and done.

* No trivia

Consider the question "What are the origins of DOS in PCs?". It would not be a complete answer to stop at the company Microsoft bought it from, or to not mention IBM. In the case that the asker answers his own similar question himself, this conflicts with the Q&A-spirit present in other SO sites.

My opinion is that a site gathering programming history from programmers while they are still living would be fascinating and appreciated by many. There are so many paths programmers have taken that if SO didn't provide this resource the history would not be recorded; relying on programmers to host a site to tell tall technical tales about their niche is extremely likely to result in no history recorded at all. The argument for SO to provide the resource is (for me) the excellent functionality and likeliness of involvement and attracting the right people with insightful answers, since some already hang here, having moved from a historical programming niche to a current and to-be-historical programming niche. ;)


You must log in to answer this question.

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