Because Java is a language developed by adults.<p>Over the long term the Java team has been making hard decisions and doing the right thing. Some guys wrote a paper about how the Java memory model was bogus and not right for multithreaded programming and they fixed it. C++ got around to this ten years later. Thanks to the global interpreter lock and lots of old GNU libraries that will never be treadsafe you can't do anything with threads in Python, Ruby, Javascript or other common interpreted languages.<p>The JVM team sees many tough challenges ahead and they are doing the hard work to make real solutions.<p>The strength of the JVM is so great that it is the ideal target for languages like Scala and Clojure and Groovy so if you can't stand Java syntax you have great alternatives -- and you still have access to all the amazing open source libraries that exist in Java, including the ability to plug into and interoperate with anything on the planet.