Microsoft wants Windows developers to write Windows 8-specific, Metro-style, touch-friendly applications, and to make sure that they crank these apps out, the company has decided that Visual Studio 11 Express, the free-to-use version of its integrated development environment, can produce nothing else.
Visual Studio 11 is an improvement in many ways over Visual Studio 2010. Its C++ compiler, for example, is a great deal more standards-compliant, especially with the new C++ 11 specification. It has powerful new optimization features, such as the ability to automatically use CPU features like SSE2 to accelerate mathematically intensive programs, and new language features to allow programs to be executed on the GPU. The new version of the C# language makes it easier to write programs that do their work on background threads and avoid making user interfaces unresponsive. The .NET Framework, updated to version 4.5, includes new capabilities for desktop applications, such as a ribbon control for Microsoft's WPF GUI framework.
Taken together, there are many new features in Visual Studio 11 that are relevant, interesting, and useful for desktop developers. Indeed, things like the new WPF capabilities are only useful for desktop developers.
But Microsoft has decided that if you want to use these things to write desktop apps, you have to pay. The free Express tools will produce only two things: Metro-style applications for Windows 8, and websites. Eventually, the company will also release a third version that can produce applications for Windows Phone, and nothing more. The company announced the Visual Studio 11 product line-up last week, but the full implications (and positive confirmation of the implications) are only now becoming clear. In Redmond's words "Visual Studio 11 Express for Windows 8 provides tools for Metro style app development. To create desktop applications, developers need to use Visual Studio 11 Professional, or higher. In addition, Visual Studio 2010 Express products—Visual Basic 2010 Express, Visual C++ 2010 Express, and Visual C# 2010 Express—will remain available for free download."
Metro-style applications are obviously going to be an important driver for Windows 8's adoption, especially on tablet machines. Although Windows 8 remains a fully fledged desktop operating system and will be able to run essentially any and every desktop application that Windows 7 can run, Microsoft is keen to develop an ecosystem of applications that are pleasant to use on tablets, and to do that, it needs Metro-style programs built on the new WinRT framework.
Extending the Visual Studio Express range to support Metro-style development is, therefore, an obvious decision. The cost barrier to entry is very low—it costs nothing to download and use the IDE—and it should stimulate a healthy amount of application development, just as it has done for Windows Phone. Developers, too, have an incentive to develop Metro-style applications, when it's appropriate, because the greater promotion and easier distribution should provide some new revenue opportunities.
But merely extending Visual Studio Express apparently wasn't good enough. Redmond has decided not only that Visual Studio Express users should have the ability to develop Metro-style applications: they should have no other choice.
In practice, you'll probably have to pay even for Metro development. Windows 8 won't, in general, support side-loading of Metro-style applications. Developers won't be able to stick a Metro-style application that they wrote themselves onto their website and let people download it. Every application will have to go through the Windows store, and will be subject to Microsoft's approval. Submitting applications to the store will cost money, even for free applications; private developers will have to pay $49 a year, corporations $99 a year.