In my previous blog I talked about how in Visual Studio 11 we have eliminated the need to convert your Visual Studio 2010 C++ projects in order to adopt the new IDE. The blog also mentioned that you can build your projects using Visual Studio 2010 compiler (tools and libraries) from within Visual Studio 11 using the multi-targeting feature. This means while you adapt to using the new compiler and while your 3rd party vendors provide you with binaries compatible with the Visual Studio 11 compiler (tools and libraries) you can leverage the new Visual Studio 11 IDE without disrupting your ship cycle. Just set the platform toolset property to v100 in the property pages (requires Visual Studio 2010 to be installed side-by-side with Visual Studio 11). Since no upgrade of your project file is necessary you can continue to load the project/solution in Visual Studio 2010 as well.
We have recently received feedback from a number of customers about the inability to build binaries that run on Windows XP with the Beta version of the Visual Studio 11 compiler and libraries. This is because the C++ compiler and libraries in Visual Studio 11 Beta leverages platform capabilities only available in Windows Vista and higher. However, if support for Windows XP targeting is important to you, then you can use Visual Studio 11 Beta’s multi-targeting capability described above in order to employ the Visual Studio 2010 compiler and libraries to build applications and libraries than execute on Windows XP. This enables you to enjoy the new features of the Visual Studio 11 Beta environment without sacrificing backward compatibly in your applications!
Somehow, I don't think you are listening.
If you had taken the time to read even a small fraction of the feedback that has been posted on this issue you would be in absolutely no doubt that multitargetting does not address the problem.
What is actually needed is the ability to target XP with the more C++ 11 conformant compiler (VC11 C++ compiler), not the lesser of the two (VC2010 C++ compiler). That means the VC11 compiler in whatever IDE we can run it (personally, I'd settle for using the VC11 compiler from within the VS2008 IDE, but that's just me).
Unless you allow the VC11 compiler to target XP clients, multi-targetting is no help whatsoever with this issue, so quit pretending it is - you really aren't fooling anyone here.
Now, I don't believe the VS team is dumb enough to not know this already, which leaves the possibily that this whole issue has arisen because of an edict from above. So, if the VS team has been *told* to drop XP runtime support please just tell us by whom, and let us talk to them directly.
I have to say as a longterm VS integration author I am thoroughly cheesed off with the direction VS11 has taken recently. After the bloated monster that was VS2010 I'd expected this release to be far, far better.
As it is, this one issue is leading us to seriously consider dumping the Visual C++ compiler entirely. I never thought I'd say that, but it is happening.
I can't understand why the MS and especially the VS team has grown so out of touch with the users of their software. It's like they work on whatever they fancy and then just assume the community will just like it.
> I can't understand why the MS and especially the VS team has grown so out of touch with the users of their software.
Thats the point! They write blog posts announcing the great new "features" like an ugly UI, missing support for XP, little upgrades to C++11 conformity (which is still bad. But they announced that they'll update soon), breaking regex-syntax in find&replace. And then they wonder why nobody is happy....
If I wrote such blog posts to the users of my software, or If I release versions of my software which are a step backwards, I would be ashamed of myself.
No, seriously. This must be a joke, right? You cannot be serious, right?
I've looked at Visual Studio release patterns. It seems that Microsoft has always cared about the extended support final date, until now.
VS2008 - November 2007. Drops support for Windows 98 (mainstream support January 2004, extended support July 2006). Windows 98 market share when VS2008 was released: 1.0%.
VS2010 - April 2010. Drops support for Windows 2000 (mainstream support June 2005, extended support July 2010). Windows 2000 market share when VS2010 was released: 0.5%.
VS11 - Beta February 2012, RTM 2012. Attempts to drop support for Windows XP (mainstream support April 2009, extended support April 2014). Windows XP market share when VS11 Beta was released: 30.0%. Probabilistic calculation says it'll be 24% by the end of 2012.
This clearly shows that for the first time Microsoft is trying to drop Visual Studio support for an OS that still has extended support (let's ignore Windows 2000, the gap was only a few months).
NOTE: These market shares are given if linux, mac and mobile platforms are also considered. When considering Windows machines only, Windows XP had a market share of 36% in February 2012, by the end of 2012 it'll be 29%.
VC++11, using the new toolset, must support Windows XP as a target platform.
Did Amit jump, or was he pushed? :)
"We have recently received feedback from a number of customers about the inability to build binaries that run on Windows XP with the Beta version of the Visual Studio 11 <b>compiler and libraries</b>. [...] However, if support for Windows XP targeting is important to you, then you can use [...] the Visual Studio 2010 compiler and libraries to build applications and libraries that execute on Windows XP."
Here, snipped some cruft from your comment and added emphasis to make it clear how stupid it is. Just to make it even clearer, I'll paraphrase what you're saying above: "Users want to use the VC11 compiler with XP. But if you need to support XP, you can use the VC10 compiler."
Or even shorter: "XP is gone. Suck it!"
It's enough to make me bang my head against the wall.
I find Multi-targeting as interesting as C#. I am sure some people will find it useful, but not me. If I upgraded to VS11 its for the improved compiler. Unfortunately, much of the worlds customer-base is in Windows XP, so VS11 isn’t the correct compiler.
Its disgraceful how each release of VS has gone downhill since VS6 (1998).
I hate to be overtly negative, but after thinking this over quite a bit – Microsoft is really killing its native developers. Vista was a big, bloated, slow release that people largely didn’t purchase. Win7 is better. Win8 could be better (internal technical improvements, faster, etc), but it won’t really sell because consumers won’t chose to buy a $1,000+ desktop/laptop to be used as massive, neutered phone (Metro). Now, with VS only supporting Vista, Win7 and Win8.. that means the VC++ customer-base is catering to Win7. A good OS, but a small sliver of prospective users, that will increase some, and then start decreasing over the next few years.
Is Vs11 & Win08 the beginning of the end of Microsoft? I am kind of sad. I’ve been a Win32 C++ developer for many years. Maybe it really is time to buy a mac and start leveraging Objective-C. I'm not getting any younger and neither is MSFT.
Amit, have you even read what we've been complaining about? I find your post very arrogant and distasteful.
I don't know the internal structure of Microsoft, but it seems that wrong people have been put in charge of the Visual Studio Product Team, the team that most likely gives orders to the Visual C++ team. No way would people in the VC++ team write such nonsense as seen in this blog post on their own, the orders must be coming from the higher structures.
Judging from the recent decisions, I really think the high managers are trying to sabotage Microsoft. If VS11 and Windows 8 fail, I hope the shareholders will fire those responsible for this crap.
Also, what's the deal with VS11 Express? It only supports creating Metro apps, is the RTM going to set such restrictions as well?
Does the new IDE support Brief Emulation again?
At least that would be one thing in its favour. But like most people, I can't see that there's any chance of our company purchasing the new IDE until we can drop support for Windows XP, which is going to be a fair few years away yet.
This is the most willful ignorance I have ever seen in my life. Its astounding.
We are not going to spend the time, energy and money to upgrade to VS11 just to keep using the 2010 tools. We will simply skip VS11 and not think twice about it. The truly compelling feature is C++11 support, and if we cant use that, then there isn't much to talk about.
I just love the logic of doing something so utterly futile.
Pushing us developers isn't going to make our customers upgrade. It just means that we, practically speaking, will be stuck with old dev tools.
If you want people to upgrade away from XP, you'll have to talk to our customers, not us. Throwing a hissy fit and picking up your VS11 toys and going home isn't going to make XP go away any faster. It just makes us Windows developers wonder if perhaps it's time to ditch MSVC and switch to a sane toolchain.
I am so disappointed with this decision. The company I work for has used Visual Studio since the very first version, and this will be the first time we will skip upgrading. As others have said, it is the C++ language enhancements that drive the VS upgrades for us, not the IDE goodies. If we can't use the new language features in our code then we will not upgrade.
30% of our customers are still using XP. We can't ignore them! And we can't maintain two separate code-bases so one can target XP with Vs2010 and another can support later OS's with Vs11, so multi-targeting is not a solution.
This is the first time I have seriously considered looking for a different development framework. Either that, or we will be stuck with Vs2010 for a long time. What a shame Microsoft. You are losing us...