There are some people who always have to be on the bleeding edge of technology, such as for Visual Studio and the .NET Framework. But this is not the case for most developers, and that goes double for development teams that have to deliver solutions according to a schedule, however unreasonable that schedule might be.

Keeping up with every single release takes a great deal of time and effort. It is easy to skip a version, then two, and before you know it the articles and screenshots no longer make sense, and the assumptions about things make even plain English inscrutable.

It is important to get back on track by understanding what you are missing and where to look when ramping up. The latest version of the Microsoft development platform enables new things to be done, but there are also things that cannot, or can no longer, be done with it. There is nothing quite as frustrating as finishing a project and realizing that your favorite deployment mechanism is no longer supported (hint hint).

The very best reason to move to Visual Studio 2012 without delay is that Visual Studio 2012, like Visual Studio 2010 before it, allows you to target the version of the .NET Framework that you want instead of only the one that ships with Visual Studio. To this point, David Yack, CTO of Colorado Technology Consultants (a Colorado-based Microsoft consulting firm), said, “I think it is important to separate moving to Visual Studio 2012 and moving to .NET 4.5; we have moved to Visual Studio 2012 as fast as possible. Moving to .NET 4.5 has been slower, because unless you need a feature it offers, there really is not the same motivation.”

The freedom to target different framework versions allows his firm to take advantage of the little changes that make for better productivity. He maintains that even faster startup or small feature changes in the editor make it worth moving as early as projects and schedules permit.

Some organizations require following the “first service pack rule” to ensure stability before adopting anything new, but even those organizations can tamp down the learning curve by starting familiarization early. If you go this route, Yack suggested that you have a couple people on the team lead the way and use it for a couple of weeks, so when the rest of the team jumps in, they are not all learning and can have people on the team to ask how to do specific tasks. The ability to install and try out multiple versions of Visual Studio side by side makes it fairly inexpensive to take this approach.
C++ renaissance
When Microsoft first starting hinting at the developer technologies in the wave that would accompany the release of Windows 8, there were some mysterious statements at the time concerning C++. The promise was that C++ would become a first-class citizen in the family of languages in Visual Studio, along with Visual Basic and C#. For a decade, the tools have improved for Visual Basic and C# in a relentless and often competitive drive between the teams that support each language. The reality is that in Visual Studio 2012, much of the ground has been made up with C++ because Microsoft wanted to widen the scope of potential developers for Windows 8 applications, and make sure that great performance was attainable.

VS 2012To understand just how far C++ has come from behind, I discussed the current situation with Kate Gregory of Gregory Consulting. She is the author of “C++ AMP: Accelerated Massive Parallelism with Microsoft Visual C++,” as well as a number of C++ and Visual Studio courses available online at When asked why her company is using Visual Studio 2012, she said, “Most of our new development at the moment is in C++, native code, not .NET. And for these projects, Visual Studio 2012 brings us a number of very important C++ 11 features, along with C++ AMP and support for developing apps that target the Windows 8 store, Windows RT and Windows Phone 8.”

She explained that C++ 11 is like a whole new language, an evolution of C++ that has made the resulting language readable, safe, easy to use and indisputably the fastest at runtime. Knowing that I would be slow to believe that C++ is now easy, she emphasized that pointers and many of the harder artifacts of old-style C and C++ are no longer parts of the picture.