Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

c++11 came in 2011. c++14 came in 2014. Seeing a pattern yet?


When we'll have a compiler support - this is what really matters, especially for those who use MSVC... It is 2015 and we still don't have a full C++11 support.


The pattern is generally that Clang and GCC will have partial support when the standard is release, and full support a couple of years later. Intel will lag behind a year or two after that. Microsoft will be behind another year or two.

So, let's say that C++17 does come out in 2017. It will probably be the case that some of the features will be ready to use in GCC and Clang right away, and around 2019 or so they should have full or nearly full support. 2021 for Intel. 2023 for Microsoft.

So that gives you a range of answers. Depending on which features and which compiler, you could start using some of them immediately (or even before 2017, many of the features are implemented experimentally in advance), but if you want full support across the range of commonly used compilers, you're probably going to be waiting until the early to mid 2020s.


FWIW, Clang and GCC support all C++11 features.


Though GCC only gained full C++11 support as of 5.1, which was released this week.


I think you may be thinking of C++14, GCC has had full C++11 support since 4.8.1.


Prior to 5.1 gcc had full C++11 language support, but libstdc++ did not have full C++11 library support.


That's a fair point.


http://cpprocks.com/c1114-compiler-and-library-shootout/ disagrees:

"First, let’s look at the C++11 language features. Clang 3.3 and above, and GCC 4.8 and later have complete support, so there was no point including them in the table."

Also note that, on the C++14 front, clang supported all language features and most library features. And that is a year ago.


Yes, but I was talking about MSVC - MicroSoft Visual C++ compiler.


That's kind of like saying "You haven't read Shakespeare until you read him in the original Klingon."

Waiting for Microsoft to make a compiler seems like it ought to be orthogonal to moving the language forward, especially when non-Microsoft tool chains are already doing better with that particular language.

Microsoft has enough on their plate bringing C# and .Net to Linux and Unix, and I'd much rather they get that right than compete with GCC and CLANG. (That and Docker for HyperV and Windows Server.)


I'm obliged to make my c++ code work on a variety of platforms, and on windows this means visual studio.


But Visual studio doesn't imply Microsoft's C++. There's clang-cl (http://clang.llvm.org/docs/UsersManual.html#clang-cl), which aims to be a drop-in replacement for Microsoft's compiler (haven't used it, so I don't know its quality)

Also, Visual Studio 2015 will ship with clang (http://blogs.msdn.com/b/vcblog/archive/2014/11/12/visual-stu...). Yes, that's for Android (and, in the future, iOS) only, but it would not surprise me if that it is a sign of things to come: either Microsoft starts following developments faster, or people will move to clang for development. And I doubt the current Microsoft would be bothered if their customers moved to use clang, as long as they kept using Microsoft technologies (even if that's limited to running on Azure)


>That's kind of like saying "You haven't read Shakespeare until you read him in the original Klingon."

Not really. It's one of the top handful of compilers and none of them are "original" wrt the language standard.


http://blogs.msdn.com/b/vcblog/archive/2014/11/17/c-11-14-17...

this is the latest i could find, maybe time for an update if so.


I'll be publishing an updated feature table soon.


C++11 was originally known as C++0x, so C++17 may yet become C++19.


Yes, and C++17 is a big one, which may well slip, while C++14 was a small one, mostly aimed at cleaning up C++11.


c++17 is currently known as c++1z.

You can use Clang in C++1z mode with the -std=c++1z option.


Let's not that forget c++11's codename was c++0x ;)


It's actually C++0B! :)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: