Re: C++ haters: What about performance?
As for unpredictable, take a look at the varying behaviour of STL implementations
STLs vary across implementations, but each implementation is predictable in itself. However, a single implementation of a JIT, garbage collector plus other runtime management routines is unpredictable and uncontrollable by its very nature. You cannot have it both ways.
C is lighter and more predictable. For higher level stuff
C it's just as predictable as C++, because both compile into machine code executables (not bytecode), and are consistent at runtime; there's no comparison to be made here.
Java runs rings around it unless you can waste many magnitudes more time fine tuning your C++ code.
No, the opposite is actually true. C++ is compiled into machine code and runs, end-of. Java is compiled into bytecode which needs a JVM at runtime, which cannot hope to optimise to the same degree as a compiler. For evidence, google "performance c++ vs java" or see:
http://benchmarksgame.alioth.debian.org/u64q/java.html.