Microsoft can't seem to please all of the programmers all of the time. After appeasing Silverlight enthusiasts with news of version 5 sometime next year its next step is to publicise a video made at the start of November demonstrating its committment to Visual C++. The result?
There have been lots of outpourings of discontent with the way Visual Studio-using C++ programmers are being treated, or rather ignored. The complaints can be summed up as facilities haven't been updated and bugs are described as features. For a long time the help hasn't worked, the IDE is slow (but this is a complaint common to all VS 2010 users), the WTL is stuck in beta and so on. Overall the view is that the available free C++ tools are better and many developers are switching to Qt or similar.
Microsoft, however, still makes a great deal of use of C++ and most of its new APIs are COM-based and essentially they can only be used easily from C++. Given that Microsoft programmers have a long tradition of "eating there own dog food", i.e. using the same tools that they offer to the outside world, it is difficult to see why C++ in VS is so ignored.
Now we have the good news - perhaps VC++ programmers aren't so forgotten after all. The news of the release of the SP1 beta contained more improvements for C++ programmers than perhaps any other group.
The new features include (quoted in part from the VC++ team blog) :
- MFC-based GPU-accelerated graphics and animations For those not familiar, Direct2D is a hardware-accelerated, immediate-mode, 2-D graphics API that provides high performance and high-quality rendering for 2-D geometry, bitmaps, and text. Likewise, Windows Animation Manager enables rich animation of user interface elements.
Now these two technologies are enabled in MFC. The benefit for MFC developers is that they can take advantage of those underlying technologies without breaking the MFC programming model.
- New AMD and Intel Instruction Set Support AMD and Intel are working on new microprocessors to be released next year. Both processors come with extensions to the current x86 instructions. C++ developers get to these extensions as intrinsic functions or just intrinsics, allowing efficient computing without the overhead of a function call.
- Managed Incremental Build parity with Visual Studio 2008 Originally reported in KB982721
- Help Viewer The new local Help Viewer is a simple client application with a fully-expandable table of contents and a keyword index.
- Addressing Customer Issues The Service Pack addresses various issues reported by our customers or the community, covering areas like the IDE itself, library implementations (like MFC, STL) or the setup process.
The initial reaction seems to be that the improvements still miss the mark as bug fixes and C++0x support are ranked more important than new instruction set support.
It must be difficult to find anyone within Microsoft with any enthusiasm for C++, an old technology that Microsoft has arguably never done particularly well. However, it looks as if they are at least trying to give the impression that there is life in the old dog yet.
Microsoft Tells What's Next for C++
VS2010 SP1 Beta: What’s in It for C++ Developers
Visual Studio 2010 SP1 Beta