On this evening of the Windows 8 release - while watching Windows 8 commercials during Game 2 of the World Series (Go Giants!) - I find myself contemplating this world of choice we have in late 2012. This is an amazing time to be a consumer of electronic goods, especially mobile devices, likes phones and tablets. This also presents an unparalleled opportunity for software developers but, along with it, major challenges in supporting these multiple operating systems. One of the more interesting aspects of this new version of Windows is the introduction of WinRT and its use of C++ as its primary native language. Interesting, but not altogether surprising to me.
Long time developers will remember when C/C++ was the primary language of systems development and will also remember when languages/frameworks like Java and C#/.Net started making inroads into those application areas. But C++ never really went away. Around that same time, it was immensely popular where its applications could take advantage of its core strengths; namely, its ability to create small and fast native executables with full system access. This rapidly growing application area was found in the burgeoning embedded systems application market and the next step in that evolution is these devices we all use daily -iDevices, Androids, and now Windows 8 Slates.
In each of these operating systems, you’ll find C/C++ alive and well. All of them are built with a C foundation within their respective kernels and core system services, with iOS/Mac OS X using a Mach based kernel, Android using Linux, and Windows 8 using the NT kernel. For application developers iOS and Mac OS X presents Objective-C (with built-in support for CLANG C++), Android delivers C/C++ through their NDK, and, of course, Windows 8 presents C++ as its primary native language. For application developers who wish to use a common language across all three of these major mobile operating systems and their desktop counterparts Mac OS X, Linux, and Windows 8 Desktop, C++ has re-emerged as the language of choice for native developers.
Yes, it’s a great time to be a consumer and a developer. And a good time brush up on your C++.
~/jtPosted by J T on October 25th, 2012 under Uncategorized |