Don’t take me wrong, I do love C# and managed code, but often we need to develop in C++ and for good reasons. I have the feeling that we are in the beginning of the Native (C/C++) development renaissance, why do I say so? Here are the signs?
- Enhanced MFC and new C++ TR1 standard are part of Visual Studio 2008 SP1
- Visual Studio 2010 has many new tools for the native developers
- The next version of Visual C++ has C++0x capabilities such as auto and lambda expressions
- There is a new native Concurrent Runtime.
- We get new Native Web Services capabilities to Windows XP/Vista/2008/7 that has many similarities to WCF
- Windows 7:
- All Windows API are C and COM based (as always)
- New native Scenic Ribbon Control and Animation Framework support that mimic the Markup & Code separation of WPF
- New native XPS and OPC API to handle modern documents and documents packaging as well as XPS Print API (In previous operating system we had only managed solution)
- Direct2D & DirectWrite for fast and GPU based 2D rendering in native code
- Sensor & Location API
- And many more…
At the beginning of .NET we had to develop managed wrappers to use the native features that were missing in the .NET framework. in the last couple of years the opposite was the case with capabilities such as WCF, WPF, LINQ and other managed only technologies. The world is not perfect yet and we don’t have the same capabilities in both technologies (.NET and Native) but we can see that new technologies such as Concurrent Runtime will serve both the native and the managed world. To use Windows 7 capabilities in the .NET world, it is now again the time for managed wrappers on top of those native API and this is something that Sasha, Dima and myself are doing in the last couple of weeks.