A big advantage of Java or C# in increasing productivity of development is that you’re supposed to lose less time with complicated language features, especially those related to memory management. But is it just an impression?
I think that the learning curve for C++ is definitely more steep, but for a proficient C++ programmer, and given a set of coding standards for C++, isn’t the difference between Java and C++ fading away?
This is the problem. In my experience, most programmers are NOT proficient. Java allows mindless assembly line workers to be productive in a way that C++ does not.
Proficient developers will be productive no matter what language they write with.