Why Is Microsoft Interested In C++?
|
|
An interesting article from eWeek just popped up, apparently Microsoft is trying to gain ECMA approval for its C++ bindings to CLI. It's extremely facetious for Microsoft to seek standardization on an idea that applies only for Windows. Don't they already own the Windows standard? If this ever passes, it'll be quite evident that ECMA would be nothing but a rubber-stamping organization for Microsoft.
However this all brings up an interesting point. Why does Microsoft need a stamp of approval for its version of C++? Well one strange statistic that is becoming ever more obvious is the fact that C++'s death is extremely exagerated.
Despite an almost complete abandonment by most of the software tools vendor, C++ remains to be a bread and butter tool for many developers. This can be seen by job listing and even the TIOBE index. Both unscientific samplings do hint that C++ may in fact be the most popular language on the windows platform!
Matter of fact, recent discussions about "The Myth of .NET Purity" reveal a striking revelation. A lot of work in the .NET work platform requires a lot of COM hacking and that's of course best done in C++.
That's why Microsoft is so interested in the C++ crowd. However, any attempt on convincing a stead fast C++ developer to move to a "safe" language will fall on deaf ears. Afterall, the mere fact that anyone is still doing C++ today reveals a mindset that values speed over any other consideration (actually there's also a whole lot of legacy code in this world too!).
The strangest thing about the Microsoft world is that its populated by two different species of programmers. The VB types who are content on clicking, dragging and collecting a pay check and the C++ types who are sharp as razors however completely deluded in their ability to build safe and robust systems.
In the end, it's going to take a very long time for the Microsoft world to understand how to build massive object oriented applications in a managed world (see Eclipse for a good Java example). The "speed at all cost" culture is too deeply ingrained and it takes years of experience building such things. Ask Erich Gamma, architect of Eclipse and author of GOF, if you look even to his earlier work on ET++ (circa early 90's) you'll realize how vastly divergent this C++ style is from the MFC framework. It takes a specific kind of mindset, a mindset completely absent in the Microsoft world.

