12 ms·
What would that be? Visual Studio 2015 seems like fully covered except C99 preprocessor, if this table fully covers all C++11 features. https://msdn.microsoft.
by fetbaffe 10y ago
What would that be? Visual Studio 2015 seems like fully covered except C99 preprocessor, if this table fully covers all C++11 features.
https://msdn.microsoft.com/en-us/library/hh567368.aspx https://msdn.microsoft.com/en-us/library/hh567368.aspx
Why they have been behind? Wild guess, Microsoft thought that C#/.NET would be the future for everything and scaled back on C++, but with Windows 10 they realized that the world still consist much of C++, so now it is a equal member again together with .NET and HTML5/JavaScript, i.e Universal Windows Platform.
- krona 10y agoVS 2015 doesn't (fully) support Expression SFINAE. Looks like VS 2017 will: https://blogs.msdn.microsoft.com/vcblog/2016/11/16/sfinae-update/ https://blogs.msdn.microsoft.com/vcblog/2016/11/16/sfinae-up...
- hellofunk 10y agoBut in 2017, there will be another significant new standard, C++17. I wonder if VS will not support it until 2022, if they remain 6 years behind on new language standards?
- pjmlp 10y agoPeople like to complain about VS, but they are quite good in what concerns commercial C++ compilers. http://en.cppreference.com/w/cpp/compiler_support http://en.cppreference.com/w/cpp/compiler_support And C++ compiler support page doesn't provide information about the likes of TI and similar embedded OEMs, otherwise that reddish colour would be even bigger.
- adrianN 10y agoIn the embedded world you can consider yourself lucky if you get a halfway working c++98 compliance.
- krona 10y agoI agree with your general point, but frankly the only feature of C++17 I'm interested in is await/resume and that's already supported in VS 2015.
- gpderetta 10y agoAwait/resume won't be in c++17, as it is very contentious. It will be first released as a Technical Report.
- ntauthority 10y agoVS2017 already is quite far into supporting C++14/C++17 features, except that expression SFINAE and extended constexpr were not viable to implement on the original (dated) compiler frontend and therefore the past years have been spent on rewriting large portions of the compiler. The VC team blog provides fairly decent information with regards to reasoning and progress behind this.
- Scea91 10y agoC++17 won't be that significant. All of the major features have been postponed to later revisions.
- fetbaffe 10y agoYes, you are right. And the table I linked to actually said No on Expression SFINAE for Visual Studio 2015 if you read it carefully, which I did not.
- gpderetta 10y agoI believe that VS still doesn't do two phase lookup. Not sure whether it will be fixed in 2017.
- pjmlp 10y ago> Wild guess, Microsoft thought that C#/.NET would be the future for everything and scaled back on C++, but with Windows 10 they realized that the world still consist much of C++, so now it is a equal member again together with .NET and HTML5/JavaScript, i.e Universal Windows Platform. Actually it is a bit more complex than that. .NET used to belong to DevTools and C++ to WindowsDev. WindowsDev lost the political wars to DevTools when MS went full .NET, but given the technical and political battles that caused Longhorn failure, WindowsDev gained ground. Hence why starting with Vista the "Going Native" motto was born, and COM gained ground as the way to get more OS APIs to user space. Alongside this, "Going Native" wave, Singularity and Midori meant bringing those efforts back to .NET thus creating .NET Native. UWP original design, WinRT, can actually be traced back to .NET before the CLR was created. When they were designing COM 2.0 Runtime, as the future way to use VB, C++ on Windows. Also before you rejoice too much about C++'s role, check how many C++ related talks are there at Build, Ignite and Connect(). C++ is seen as the official systems programming language for kernel programming, drivers, games and GPGPU. For everything else, the documentation or conference sessions tend to focus on .NET languages.
- walkingolof 10y agoTo further complicate matters, enter C++/CLI , the GC version of C++ present in Visual studio 2005 -> 2015
- pjmlp 10y agoAnd Managed C++, the first version of it. And none of those variants as good as C++ Builder, in RAD and OO library design experience.
- fetbaffe 10y agoGood summary, but just to be clear, I never rejoice the progress of C++. I hope it dies a horrible death in the burning pits of awful programming languages.
- trentnelson 10y ago> C++ is seen as the official systems programming language for kernel programming, drivers Kernel and driver development is still very much C.