With all the unverified but reasonably believable rumors about the new Windows 8 API (Jupiter) and how it supports managed and native APIs, questions can be raised as to the need or use of C++/CLI as a Windows programming language. Well here are a few reasons why I think C++/CLI won’t go away and will continue to remain a minimally used but very important citizen in the Windows programming language world.
- Windows 7 and Vista, and possibly XP are not going away anytime soon. Apps that run on those OSes can continue to benefit from the mixed mode capabilities of C++/CLI.
- Even on Windows 8, assuming the core API offers managed and native versions with full functional parity, there is still the fact that 3rd party code and customer legacy code bases will continue to exist as a nice mix of managed and native libraries. So interop will still be a key requirement in any significant software attempt, and thus C++/CLI as well.
- The next version of Visual Studio brings back support for intellisense with C++/CLI. I am pretty sure they won’t go that far without solid enough reasons to back the fact that C++/CLI will continue to have a role to play.
- Large corporate apps may have multiple teams working together, some with managed coding skills, others with C++ skills. C++/CLI can still play a useful role to unify the different code bases for common use.
That said, I do not see C++/CLI being used as a first class managed language. Its solitary purpose would be as an interop bridge.
And does this mean I’ll write an update for my C++/CLI book? Unlikely! Even if there’s new stuff to write about, it won’t be significant enough to bring out a 2nd edition. I’d rather write an article and publish that directly. Faster, simpler, and so much more straightforward.