Apr 052012

Many people have asked me why I would use C++ for Windows 8 development when I have the whole of .NET to use. The really quick answer is, “Why not?”

For versions of Visual Studio previous to 11 (upcoming release) us C++ types have argued that the tools and syntax are much easier to use in .NET specific languages like C#. However, that is no longer the case. C++ is a first class player in Windows 8/Metro development.

The advantages:

  • We can use all of that we know from years of programming in C++ for the desktop
  • C++ creates programs for Metro that are “native” so much smaller and faster than those created by .NET. There are lots of applications where this is an imperative like games, applications that handle a lot of data, or legacy applications we may be upgrading to Windows 8/Metro.
  • C++ gives us more control over our programming environment so we can still have all the flexibility we’ve always enjoyed within the guidelines that Metro programming requires.
  • We can still write libraries and programs that have more of a chance of being ported to other environments
  • We’ve been touting the benefits of using C++ for years, but for the first time, in several release, C++ is threatening to take the front seat in our programming paradigms again. Smaller, faster, programs are a natural for mobile devices like tablets and phones where memory is still precious. And, for those of us who write programs that handle huge amounts of data, interact directly with the operating system, and want to use the same skill set for developing for the web, drivers, desktop, and Metro C++ will be the best choice.

    I’ve heard a few people refer to it as a “renaissance”. I guess the next few months leading up to the official release will be telling, but I am very optimistic and excited to see so much attention being paid to C++ again.