Nkrs
Java (the language) gets a lot of heat for being overly complex, there's no doubt about it. However, Java (the virtual machine) has some incredible optimization technologies built into it, and with newer languages that run on it, it is possible to take advantage of those optimizations. I'm getting prepared to work on a small report generating app that is written in Java to use JRuby and from my tests it is quite an improvement over MRI: real threads, support for Unicode, access to Java libraries.