Microsoft C++ architect extols the virtues of melding major languages with virtual platforms.VANCOUVER, B.C. What will be the dominant programming languages a decade from now?
Microsoft developer division architect Herb Sutter told attendees of the OOPSLA 2004 conference here that he couldn't predict the names of the most prominent programming languages of 2014, but he had a good idea of the characteristics of those languages.
Sutter said the top future programming languages will blend existing "concrete" languages with virtual platforms. They will likely include garbage collection, (even if only as an optional feature); security and verifiability; the ability to be optimized; and an easy and scalable way to manipulate large quantities of external data.
(Virtual platforms, by Sutter's definition, are those that include a virtual-machine abstraction layer, garbage collection and built-in security models.)
"The JVM (Java Virtual Machine) and (Microsoft's .Net aren't going away any time soon," Sutter told attendees of his Wednesday afternoon keynote address. "They are important because of things like security, which is becoming more not less important. But concrete (languages) also are not going away. The death of Fortran and C++ are predicted every year. But C++ is still the dominant language. It's good at solving important problems."
Sutter focused during most of his hour-plus talk on how and why Microsoft decided to combine its Visual C++ language with its Common Language Infrastructure (CLI) virtual platform. The merged C++ 2.0 release will be one of the components of Visual Studio 2005, code-named "Whidbey," which is due to ship by mid-2005.
"This is the first time I know of that a major language has been merged well with a virtual platform," Sutter told attendees, in reference to C++ 2.0.
Why did Microsoft make such a move? "It's not just have your cake and eat it too," Sutter said. "It's better together like templates and generics."
Sutter said that C++ programmers will be able to benefit from CLI's services, such as garbage collection and verifiability, as well as from the CLI's class libraries, serialization capabilities and support for XML and Web services. And CLI programmers will, likewise, gain from the integration with C++ in the areas of performance, native interoperability, and the preservation of the code-base investment in C++.
"Just because (software developers) are moving on to virtual platforms doesn't mean we are forgetting history," Sutter noted. As a result, developers will be less likely to repeat mistakes or lose the strengths of existing programming languages, he said.
This article was first published on microsoft-watch.com.