2 years ago, I worked in a company. One day so happens that my colleague was asked to write a simple VB6 demo and simple VC6 demo for a ATL COM object which was written by the manager quite some time ago.
My colleague finished the VB6 demo really fast but he was stuck with the VC6 demo, which he had no choice but to seek the manager's help. He was also stuck for quite sometime. In the end, he solved it by creating a IDispatch. I commented that VB6 was COM enabled, that was why we did not need to do anything to use COM. The manager commented "What about Visual C++? COM disabled?"
I believe VB6 COM support is written in VC6. Why it is so much work to use COM in VC6? Why can't the COM support in VC6 be better?
I would seriously dispute that the support for COM in Visual C++ is inadequate. By far the majority of all production COM code in C/C++ applications leverages either or both the ATL library or the Visual C++ compiler built-in com support!
Neither COM itself nor ATL are trivial technologies to learn. However there are great resources available for both sets of technologies.
VB 6.0 used COM internally to expose its type of objects. In that it only supports a VERY small subset of COM in a very specific way. It was never deisgned to exploit the full feature set of COM. Visual C++ in contrast does and that nakes it virtually impossible to make it braindead simple to implement COM. However in my own experience andin the experience of many customers we have worked with, Visual C++ does make developers several times more productive in working with COM compared to the naked COM APIs.
Of course I take it your question was about adding features to the COM support in upcoming versions of Visual C++. VC 6.0 is a product that has exited even extended support for quite a while now. That product is completely dead and will not see any changes of any nature whatsoever.
COM is a very mature technology that has not changed significantly in the last 5+ years. As such it is unlikely that we will do major work in this area.
Acting Product Unit Manager
Visual C++ Team