Comment It is not about VM (Score 2, Insightful) 479
At the same time Java is obviously a success at server-side. When you write an "enterprise application" it is (in my experience) not supposed to run everywhere. What is even more important there are not so many differences between, say, Solaris and Windows NT/2k for a typical web/database transaction processing system.
What really counts here is not a particular VM feature or its absence. It is all about APIs, services, and application servers implementing them.
Java is a language, which is kept quite simple. There is no standard C-like preprocessor, type system is straightforward, no generic types, etc. There are no selling points here except for this simplicity.
Java is strong because of the widely adopted J2EE platform along with all these 3- and 4-letter acronyms (JDBC, EJB, JMS, JSP, JTA, etc.) and because there is a number of mature J2EE-compliant application servers around.
This is were the main battle will take place probably.
-- Eugene