What today is the best answer for any given question, yesterday was not available and tomorrow will be obsolete. Especially when we're talking about software development.

Here is an example for you (there must be thousands, this one is absolutely imaginary):

  • Q: What is the best way to implement autocomplete in javascript?
  • A: (2000) Whut?
  • A: (2007) Write a custom ajax function, display the results after processing
  • A: (2011) Use this plugin: http://jqueryui.com/demos/autocomplete/ (nono, I'm not a jQuery affiliate, actually I prefer MooTools)

What would be your recommendation to introduce versioning for Stack Exchange questions and answers? Is there a need at all for that?

Edit after accepting an answer: Péter Török's answer has great insights. Indeed, there isn't probably a good way to introduce versioning for Q&A-s, as it would require semantic interpretation for each entry. Re-posting a question is the best way to go, I'd suggest to use the current date either within the question (What is the best issue tracking system for a small enterperise in 2011?), or as a tag.

migrated from programmers.stackexchange.com Feb 26 '11 at 13:37

This question came from our site for professionals, academics, and students working within the systems development life cycle.

  • Can you clarify what you mean by 'versioning' please? – Jonathan Khoo Feb 26 '11 at 12:15
  • Absolutely: I think there should be a way to mark an answer for any given question as the "Best for this year" instead of "Best". Kind of. I just think that with a continuosly changing domain there should be a way to distinguish among answers. When someone accepts an answer it reflects the global wisdom available at that specific day. This changes rapidly. – András Szepesházi Feb 26 '11 at 12:23
  • I really wish this would happen, but doubt it ever will. Just as I really wish there were no hundreds of duplicate questions on forums, that will also never happen. And as you can easily see, if the latter doesn't happen, the other one can't really happen either. – stijn Feb 26 '11 at 12:45
  • 2
    I think for these kind of answers, the answers will be edited to indicate that the answers are less relevant "because of FOO". – Thorbjørn Ravn Andersen Feb 26 '11 at 12:51
  • Since pretty much anyone can edit any question or answer, nothing is stopping you from adding a note to an obsolete answer. – oKtosiTe Feb 26 '11 at 14:42
  • 1
    Related: How to deal with obsolete answers? – Péter Török Feb 26 '11 at 20:24

The problem is valid, however I am not sure versioning of questions / answers would help. In fact, in the example you show the question is the exact same, just the preferred answers change. However, very often an old question may not even make much sense anymore, or may be completely obsolete (e.g. "How to implement a typesafe enum in Java?" after the introduction of Java 5).

Moreover, the "best" answer is always selected by the current consensus. At any point in time, and for any language / platform / tool, there are early adopters, cautious adopters and conservatives. Usually the relative majority is in the middle group, so this is what tends to decide which answer gets the most upvotes on the StackExchange sites. And answers getting obsolete is caused by the shifting of opinions between these different groups.

But for a given thread (like your imaginary example) how do you decide that the answer voted as best in 2007 (and thus its upvotes and acceptance mark) is obsolete in 2011? Any new answer to the same question would start from 0 hence have a limited chance of getting to the top. So either you need an authority who decides what the state of the art is regarding a certain problem (which is totally against the community driven nature of SO), or you need a public re-evaluation of the question time and again, whenever the general public feels the old answers are not satisfying anymore.

For the moment, I can't think of any better way to this than reposting the same (or a similar) question as it naturally happens on SO. If the favourite answer(s) to the new question differ significantly from the old one, it is a sign that the two questions are not exact duplicates because the context has changed.

However, the current practice of merging duplicate questions may work against acknowledging such changes. The new answers can easily get buried in the group of older ones, especially if those got more upvotes back then. And if the new accepted answer significantly differs from the old one, what to do? In this case you may be right that somehow it would be benificial to keep the two questions - linked, but - separate, with some sort of mark that the answers to the newer question obsolete the older ones.

You must log in to answer this question.

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