Zetr0: C++ was the solution to everything when Java and C# didn't exist, now it's just a nice retro language to do specific low level stuff with. Doing everything in C++ is just plain stupid when there are languages available that can cut the development time dramatically and make it binary compatible across different platforms, not just source compatible.
For heavy duty 3D game development I would be open to discussion about C++ being better because of the reduction in overhead, but seasoned Java / C# developers can without a doubt create a 3D engine that rivals the speed of an engine written in C++. It's all about the expertise of the programmers writing the engine, not the language they used.
You have to go with the times, standing still will only get you nowhere.