| 1) Great built-in library 2) great third party libraries, 3) decent documentation and tons of books and instructional material, 4) best-in-class virtual machine, good GC, as speedy as you get with managed code, 5) tons of profilers and development tools 6) several industry leading tools written in it (Hadoop, Lucene/Solr, Hbase, etc) and for it (IDEA, Eclipse), 7) Enterprise support from big companies (Sun, now Oracle) and IBM, and several smaller ones 8) Keeps improving (closures added in current 8 beta for example) 9) A large ecosystem of interoperating JVM languages, from Ruby/Python like (Groovy) to Haskell like (Scala), to Lisps (Clojure) 10) 15 year history, and at some point it fixed a lot of C++ pain points for enterprise programers |
Java is not anymore terrible than anything else when you remember to use the right tool for the right job. I have developed in Java, libraries (JDK's and third party) are just incredibly good, you will not find the same variety and quality anywhere else, period. The language is verbose and also /insert favorite Java complaints here/. So what? Get over it and use the right tool for the right job. We are programmers, not damsels.