(2) A few things like DirectX and COM are so very closely tied with C++ objects that implementing them in C seems an overkill to me. But after knowing they are done, I have nothing against that ....
Well, speaking for DirectX 1-7 , I do not see exactly what C++ would have gained us (except headaches when you would have needed to check the generated ASM to see if the compiler did the right thing behind your back to map 100 % with MS's COM API).
Anyway, it could only have helped us a bit on the COM inftrastructure (which is about 2 % of the total work and was mostly auto-generated by a Python script :-) ).
Lionel