Completing what I started here, I’ve charted the numbers from Christophe’s data for C++11, C++11 Concurrency, C++14 and C++17.
The data is taken entirely from the linked pdf with one exception: N3664 is a clarification that permits optimization, not a requirement for compliance. Compilers that do not perform this optimization are no less compliant with C++14. I’ve recomputed the percentages for all compiler versions to take this into account.
In addition to the references from the previous post, the approval date of C++14 was taken from http://en.wikipedia.org/wiki/C++14
3 thoughts on “The Growth of Modern C++ Support”
It looks like from the chart that Visual Studio is behind Clang, which you would think would put XCode on the Mac ahead, but there is also this issue that frankly I don’t understand: On the Mac, libc++ is a feature of the *operating system* that is apparently not updated. So, on the Mac, if you want to support a couple releases back, your modern C++ support is limited to what the furthest back version you plan to run on supports. OTOH, Microsoft has vcredist, Visual C++ redistributables, that can exist side-by-side on any version of the operating system. So your use of modern C++ features is not limited by the operating system.
I guess my point is, it’s not just about what the compiler supports. It’s about what the machine that you want your software to run on supports.
It seems most unfortunate, if I understand this issue correctly, that Apple would tie the dev tools so tightly to the OS.
I’ve posted a reply to this comment here: http://brnz.org/hbr/?p=1410