I like it because it is a boring language that works and allows to do things in a reproducible and understandable way (understandable for others - and oneself after a week or two). Plus, it has a good set of tools and libraries. Plus, it allows me to work for different targets. Not "write once, run anywhere" but "take your basic toolset with you to different workplaces".
I was at the Devoxx Java conference in Antwerp, Belgium the past two days. There, the former Sun / now Oracle people developing Java talked about new features etc. They said they are certainly hoping that Java will still be used in 2030.
I agree with Hauke, it's a boring language that works. There was also a presentation by Stephen Colebourne about "The Next Big JVM Language". It was a bit of an advertisement for Fantom, one of the new JVM languages. Fantom is designed to be a boring language that works, so that the majority of programmers can work with it effectively. But I think Java (and not Fantom or anything else) will continue to be the most popular JVM language for a long time to come, because that's what all those millions of developers have been using for a long time, and because there is so much software written in Java everywhere.
By the way, Java has some rough edges. I also went to the Java Puzzlers talk by Josh Bloch and Bill Pugh. They showed some very surprising and hard to understand effects with a combination of raw types and method overloading. Java is not always simple...
I’ve kind of earned an ambivalent attitude towards Java. It’s the English language (in all its dialects) of programming; so it’s the standard that everyone loosely follows…. Long may this continue – but I fear things are going to change
Enterprise Java – the first two editions of Enterprise Java Beans, of the entity type were horrid. Many people seemed to find this out too late!! But once we realised this and moved on then all was good again in the J2EE world!
Looking back I think a lot of Java technologies were ahead of their time – look at applets. Sun did not seem to commit fully to making the technology work; now Abode is doing with Flex what should have been done by Sun years ago.
Boring and just works (candy grammar maybe!); well that cool with me as I’m getting old now so happy to become a code grinder...