It's 2017 now, and there has been 2 new versions of the standard released since then, c++14 and c++17.
I am generally against versioned tags, except in the rare scenarios where it makes a huge difference (differences between D3D 9 and future versions, differences between D3D 12 and earlier versions, for example).
Topic-wise, most of our questions concern issues that are higher level than language minutiae; those sorts of questions are often asked instead on StackOverflow, and work well there.
I see neither a need for us to be differentiating questions concerning C++ by version, nor a real attempt by any users to do so. Most of the questions using c++11 don't appear to be asking specifically about or for a problem with C++11-specific features, nor do the answers appear to be offering C++11-specific solutions, in general.
Further, one can be an "expert" in C++, but still not know all of it and thus still be unable to answer certain kinds of questions dealing with certain aspects of the language (and that's fine), whereas one can probably not be an "expert" in C++11 without also being considered an "expert" in C++ itself, so the use of the tag for searchability purposes seems low, especially since it forces users to consume two tag slots per current guidance, which just seems like wasteful overhead.
- No questions have been tagged c++14 or c++17 so far.
- The amount of question tagged
c++11is minimal (68).
- About half of the questions tagged with
c++11are also tagged
- Questions tagged
c++11tag and that don't mention "c++11" are not about c++11 specifically, they're about c++.
- Even though users are actually using the language as specified in the c++11 version, the questions tagged as such are rarely about the new features introduced by that version.
- As a comparison, we only have one tag for java and c#, even though the languages have evolved over time.
This leads to believe that the
c++11 tag is adding more confusion than anything else, and should be removed.
Without better argument, I am against this proposition. It has some merit, but I think it needs to be hashed out more.
- I can personally vouch for the extreme difficulty in trying to find an answer to a question specific to an earlier C++ standard. I feel that the tag has some use, and more importantly, I can personally confirm that it can be quite valid as of 2016.
- It is certainly possible for a user to be an expert in general C++, but not as much in C++11.
- In regards to the fact that all c++11 questions also use c++, this appears to be the intention. We are currently instructing users to do so, via the c++11 tag usage guidelines.
- Questions may not simply be about new features; they may be about old features. For example, 'how do I do this, when I only have access to C++11, which predates the functions I would normally use?'
- I am generally under the opinion that if you tag a question as c++11, you do not need to mention that you are using C++11 in your question. Many other users follow this opinion, or at least, standard. I see this a lot when I answer unity questions. Many users omit the programming language completely, in the actual body of their question. This is never an issue, because they have used the tag to specify language. Likewise, the tag should tell other user's that 'this user is looking for an answer specific to C++11'.
- The fact that there is no c++14 or c#3 tag does not tell me that such tags are never useful, they just tell me that they do not appear to be useful, yet. It does not set precedent.
I think the tag excerpt could do with a slight improvement. As it stands, the usage excerpt states that 'c++11 replaced c++03'. I think it should also say that 'c++11 was replaced by c++14', as users may not be aware that there is a newer version, and thus assume that their using c++11. It certainly would not hurt to specifically note that users should only use the tag if they are asking specific c++11 questions, or otherwise looking for an answer that is c++11 compatible.