Last week, the latest version of the ISO C++ Standard was approved by unanimous vote. It's the first major revision of the language in 13 years. Now officially known as C++11, the new standard introduces features designed to make it easier to develop software for modern parallel processing architectures, including lambda expressions and new data types for concurrent computing.
Not that C++ really ever went away. With its older cousin C, it remains one of the most popular languages for systems programming and for applications that call for performance-intensive native code, such as 3D game engines.
But C++11 arrives at an interesting time. There's a growing sentiment that the pendulum may have swung too far away from native code, and it might be time for it to swing back in the other direction. Thus, C++ may have found itself some unlikely allies.
Native code's unlikely champions include Google
Google is probably the last company you'd expect to be interested in native code. For years, it has championed the idea that the very concept of desktop software is obsolete. In Google's ideal world, applications run exclusively in the browser -- and it has developed Chrome OS to prove it.
NaCl isn't Google's only nod toward native code, either. The search giant's Go programming language has been widely described as "Java-like," but that's only partially true. Syntactically it does resemble Java in some ways, but Go code does not run in a virtual machine; it's compiled directly to native code. What's more, Google has gone so far as to make sure that Go binaries can run not just on the desktop, but in the Google App Engine cloud computing environment as well.