Finally, even better news regarding Windows Phone: C++ support!
To my joy I stumbled on a dutch article regarding C++ support for the next version of Windows Phone, probably WP8. For some of you interested, you can read me complaining about the lack of C++ support on my Frenzic for WP7 page. Looking at the user-voice page I was not the only developer requesting this, as it holds the 4th place in the list.
This reminds me one of the slides of Herb Sutter on C++ and beyond 2011, showing some mobile OS’ version 1 and up. As you can see all mayor players, well the 2 biggest today, did not have C++ support in version 1 and added it afterwards. This really means something in my opinion, that C++ is a common technology of a very serious and powerful development community!
I think both performance and portability are at the same level in this discussion. C++ is probably by far one of the most supported language on any hardware offering the required performance while having a good level of flexibility and abstraction. You can’t have it all, I often hear people stating that if you require performance you should use plain C. And yes, C’s performance beats C++, but in today’s modern applications you can use the productivity gain of C++ to hit your milestones…
What happened to productivity? Take a look at managed languages such as Java and .NET (Android and WP7), nobody will counter the statement that they really offer a great productivity boost. You don’t need to mind complex syntax, memory management nor lack framework support. You will also agree that these things cost performance, and even often the right choice for the job, you may require better performing technologies to get the job done.
Game development is a niche for C++ development, even if there are some managed exceptions as XNA or Unity, but C++ has lost mainstream attention (until now?). Could mobile (phone, tablet, ultrabook) be the driver behind the C++ renaissance? Will it ever stop, or will the next “super-watch” still require the mother of modern programming languages? The future will tell, but for now: welcome back C++.