The buzz around Windows 8 is getting louder as the OS nears release—and at each step of the way, Visual Studio has been moving in lockstep with Windows 8. The reason is simple: Windows 8 provides a new "Metro mode" experience, and Visual Studio 2012 provides the tools for building that Metro experience. But there's much more to Visual Studio 2012 than just building Metro applications for Windows 8.
Not that building Metro applications is a trivial thing. Microsoft has been inventing a new way for people to interact with their computers. We've witnessed the evolution of Metro in the various pre-releases of Windows 8: Developer Preview, Consumer Preview, Release Candidate, and so on. At each iteration, the Windows 8 user experience has been refined. Visual Studio 2012 has had a version release alongside each pre-release of Windows 8 to match the development tooling with the revised Windows 8 experience. The result of this synchronicity has been to focus all the attention about Visual Studio 2012 on the Windows 8 development experience. However, several important Visual Studio 2012 features aren't specifically focused on Windows 8 development.
The addition of the Async and Await keywords greatly simplifies asynchronous programming patterns. Since .NET Framework 2.0 and Visual Studio 2005, we've used a pattern of delegates and callbacks for asynchronous programming—not the prettiest code, and certainly not the easiest to understand or debug. Async and Await make asynchronous development much clearer. The Async modifier identifies a method as being able to execute asynchronously and the Await keyword designates points of suspension in the method.
In the world of parallelism, the Task Parallel Library (TPL) now includes a data flow library that helps developers manage the complex task of building code that has multiple operations executing simultaneously and that also must asynchronously communicate between the operations. The dataflow library promotes actor-based programming by providing in-process message passing.
Equally as important to both asynchronous and parallel programming are the new debugging tools, including the Concurrency Visualizer and Parallel Watch. These tools help developers see how their code executes in parallel, to help them understand the complicated interactions that can occur when many different operations are executing simultaneously.
The Application Lifecycle Management (ALM) tooling in Visual Studio 2012 has taken a big step forward. There's substantial focus on the early work of development, including storyboarding and other mechanisms to provide feedback to non-technical stakeholders to get requirements correct before committing to coding. Farther down the processes, the ALM tools have more sophisticated continuous integration mechanisms, including more sophisticated automated build support, support for third-party tools in testing, and the ability to take advantage of on-premises and hosted infrastructure. Visual Studio 2012 makes it easier to do automated testing and builds in the cloud.
These new Visual Studio 2012 features only scratch the surface. Windows 8 and Metro-style development are a big deal, but they aren't the sole focus of Visual Studio 2012. It's worth your time to download the Visual Studio 2012 Release Candidate or evaluation version and explore its potential.