These days, I'm pretty sure the JIT will do a much better job of cache optimization than any C programmer on a real world application. Anyway, real time JVMs are not about raw performance, they are about predictability and are used in very specific domains so I don't think it applies to smooth animations in desktop programs, as long as the OS and hardware is taking care of these, I couldn't care less which language will call them. But yeah, I'm saying Java is better than something I've never worked with, but I know it's implemented and used from C++, so I'll continue to stand against it because that's not the language I'd choose/recommend to develop desktop programs.