To state the obvious, any interpreted language has a non-zero overhead and garbage collection introduces non-deterministic running time that is simply unacceptable for many mission critical tasks. Cube jobs, IT work, there's so much slack and the penalties for mistakes are so minor that using ANY language including java and visual basic are acceptable.
It is blatantly ABSURD to say that Java is faster than C++ and its only a matter of time whether it is 1, 5, 10, 20 years before you realize that I am right. But the base pay says everything. If you are making under 6 figures you need to be quiet immediately, because it shows that the market does not really value your opinion or your expertise.