Every time a post involves Python code, it has the Python tag AND the Python version tag that suits the version of Python that the post is using.
I think that is a little repetitive, and we should either:
Every time a post involves Python code, it has the Python tag AND the Python version tag that suits the version of Python that the post is using.
I think that is a little repetitive, and we should either:
Glancing at the front page of questions tells me that you're exaggerating a bit. Not every python question has a related version tag. Either way, burnination isn't the right course of action here. Synonyms would be much more appropriate.
Personally, I don't see a need for version tags. I mean, we don't have c#1, c#1.2, c#2, etc. If a specific version of the language is being targeted, it's easy enough to say so in the question. Would anybody seriously be following the python3 tag, but not python?
I would propose the synonyms and see if the other users of the tag agree with you.
The reason why these tags are useful is that they affect the set of helpful review comments. The way that I interpret these tags is:
python + python-2.7 — only required to run under Python 2.7, presumably because it is interfacing with a legacy system that has not yet been ported to Python 3. Review comments about portability to Python 3 are probably helpful, because it is likely that at some point the legacy system will be ported.
python + python3 — only required to run under Python 3, presumably because it needs to take advantage of features that are only available in Python 3, such as asynchronous I/O or the yield from
statement. Review comments about portability to Python 2.7 are probably not helpful.
python only – agnostic about Python version: there are no requirements either way. Review comments about portability to Python 3 may be helpful, to Python 2.7 probably not.
People asking questions rarely mention the version of Python that they are using in the text of the post, but do often add the appropriate tag. I think this is because of the way the tag interface works: when you type "python" into the Tags field, you are prompted to choose from python3 and python-2.7 (among others). Without this prompt, I think it's likely that we would lose valuable information.
But maybe this benefit isn't worth the cost of having three tags. But remind me, what is the cost of having three tags?
That's a really old problem. I often look for a version tag when I want to answer questions, be it with C++ or Python because I sometimes don't feel like answering questions for some versions, but I also sometimes want to see all the latest questions for the language, whatever the version. So I like having both the general and the version-specific tags on questions.
The elegant solution would be tag hierarchies which would allow questions tagged python3 to be found when we search for python but the SE team has consistently refused to implement such a feature for reasons.
Having both python and python-2.7 doesn't supply more information than just python-2.7 on it's own. If backwards compatibility is required (it usually isn't), apply both python3 and python-2.7.
However, this is along the lines of using both c++ and c on the same question. They are different languages, don't use both tags at the same time. We don't have a c-family tag either, so we don't need a general python either.
Python used to be backwards compatible up till 2.7. Which means Python written for 1.5 should run in all versions from 1.5 up till 2.7. Since Python3, this is no longer applicable. Some questions are only tagged python without a more specific version. Burning the tag would leave those questions without a language tag!
The tag info currently states:
Use the python tag for all Python related questions. If you believe your question may be even more specific, you can include a version specific tag such as python-2.7.
Guess what, many questions don't follow this advise. Do note the advice was added on January 20th this year by Hosch250. It appears to have been intended for Python2 questions only, but I'm not sure about that.
However, the current tagging is inconsistent. Something should be done to solve that. Burning isn't the option, re-tagging and synonimizing would be a better fit.
Deprecating the usage of python and forcing users to pick a more specific version would be much, much better.