For languages with exactly one useable implementation, the distinction is rather academic. In the case of C++, as far as I know, every production-quality compiler produces code which runs circles around code produced by any Java compiler.
In addition, some languages have features which cause them to be more difficult to optimize. (See, e.g., the restrict keyword in C99.)