He didn't have to use a bleeding edge version of C++. The standard is less than a year old and it's a very well known fact that it's not fully supported by any compilers, and that all of the compilers have different levels of support.
If building with multiple compilers was important to him, then this is his own screw up, not Microsoft's.
The standard may be less than a year old, but it's been in development for a long time. Heck, the proposal for variadic templates dates back to 2007, and GCC has had it since version 4.3.
It seems to me that your assertion is basically equivalent to, a few years ago, telling people to stop using newer HTML features that most browsers support because IE didn't support them. Sure, maybe stay away from bleeding edge features, but there comes a point in time where you have to stop blaming the user because Microsoft can't get their act together.
> It seems to me that your assertion is basically equivalent to, a few years ago, telling people to stop using newer HTML features that most browsers support because IE didn't support them. Sure, maybe stay away from bleeding edge features, but there comes a point in time where you have to stop blaming the user because Microsoft can't get their act together.
If anything, that makes me even more likely to blame the user. Microsoft always lags behind on stuff like this, why would anybody expect them to change now?
Microsoft was one of the first to implement a wide variety of C++11 features in their standard library and in their compiler, which made it harder to then port it to Mac OS X/Linux due to the fact that the standard library had not yet yet caught up there.
If anything, that makes me even more likely to blame the user. Microsoft always lags behind on stuff like this, why would anybody expect them to change now?
Back in the IE6/IE7 days, Microsoft wasn't beating the drum for developers to code to HTML5. But that's exactly what's happening now - Microsoft is evangalizing C++2011 but they can't get their crufty old compiler to build that code.
The comparison would be fair if the rest of the competition would implement features in the same haphazard manner, but all other available solutions offer really solid support. I usually can code away in C++11 without thinking about the difference between clang and gcc, but MSVC gives me headaches. And it isn't only support of new features. There are still so many glitches on the fringes of the language (and library) that make MSVC a major cost-factor in cross-platform development.
Combine that with all the really bad memories left over from older MSVC versions and the aggressive propaganda about modern and easy C++. MS simply needs to get its act together.
He didn't have to use a bleeding edge version of C++. The standard is less than a year old and it's a very well known fact that it's not fully supported by any compilers, and that all of the compilers have different levels of support.
If building with multiple compilers was important to him, then this is his own screw up, not Microsoft's.