4 ms·
I apologize if this is ignorant, but how is C++ versioned?
by jastanton 12y ago
I apologize if this is ignorant, but how is C++ versioned?
- Qantourisc 12y agoNew features like auto and shared_ptrs.
- adamnemecek 12y agoBy the year the standard was published.
- _delirium 12y agoFairly common programming language convention as well. I believe FORTRAN 66 and ALGOL 68 were the first standards widely referred to with a revision year. More recent examples include Fortran 90 (no more caps!) and C99.
- adamnemecek 12y agoI agree but it seems like newer languages adopted the 1.0, 2.0 versioning scheme so it might throw some people off.
- maxlybbert 12y agoPre-standard C++ had that scheme as well! (well, CFront releases, http://www.softwarepreservation.org/projects/c_plus_plus#cfront http://www.softwarepreservation.org/projects/c_plus_plus#cfr... ).
- Havvy 12y agoNot just new languages. Java is also versioned from Java 1.0 to 1.1 to 1.2 ... 1.8, with recent versions dropping the "1." because they never will have a true "2.0" release.
- cygx 12y agoThat's somewhat more common with languages with a reference implementation instead of a specification.
- deleted 12y ago[deleted]
- spott 12y agowhat do you mean? C++ is a language designed by committee. C++14 is meant as a "tock" release, fixing some of the things in the C++11 "tick" release. ("tick" releases are larger, and "tock releases fix some of the problems in the "tick" release). Compilers then attempt to implement the standard, and have their own versioning system.
- StephanTLavavej 12y agoTraditionally, "ticks" are small, and "tocks" are big. See https://en.wikipedia.org/wiki/Intel_Tick-Tock https://en.wikipedia.org/wiki/Intel_Tick-Tock .
- scriptduck 12y agoThe version number identifies the tonnage of crap that has been added since C++98.
- skj 12y agoOnly 14 more tons since C++98, which, of course, had 98 tons since C.
- anuragbiyani 12y agoUntil now there have been four standardized versions of C++: C++98, C++03, C++11, and C++14. And the versions have been consistently named (to be precise, "nicknamed") as "C++YY", where YY are the last two digits of the year in which that ISO standard was adopted. Note: C++03 was a very minor change (sort of a "bug fix"), so people sometime refer to C++11 as direct successor of C++98. Also in the interim (2007) there was C++-TR1 ("ISO/IEC TR 19768:2007") which was not a formal standard per se, but instead a technical report specifying bunch of standard library extensions (which were formally included in C++11) For sake of completeness: The format C++YY is the one which is commonly used almost everywhere, but the official language name follow ISO's convention. Here is a mapping: C++98: "ISO/IEC 14882:1998 Programming languages C++" C++03: "ISO/IEC 14882:2003 Programming languages C++" C++11: "ISO/IEC 14882:2011 Programming Language C++" C++14: "ISO/IEC 14882:2014 Programming Language C++" There are also language classifier like (E), (F), etc present at the end (e.g., "ISO/IEC 14882:2014(E) Programming Language C++"). I am not sure if the official standard is fixed in a particular language, or are all the different language translations equally authoritative (I suspect the latter, but it's just a guess).