If you are a Java pro and read Java is dead, but you’ll learn to love it you may think: oh no, not one of those Java bashing discussions again. And you are absolutely right. How stupid those “I do not like Java” programmers have to be to claim that Java is dead? Let us bring them back down to earth a bit
.
When surfing in developer communities you find hot discussions about features of programming languages. I don’t know how many of those comparisons I found over the last years. The discussions are about certain innovations that one language already offers, but others not. Interesting with this is the rating of programming languages in context to such features: If your language doesn’t offer this feature and it is clear that it will not in the (near) future your language is dead. Java seems to be the number one candidate for a lot of those “you are dead” features right now.
A lot of those comparisons follow the “apples and oranges” pattern. The detail of a language is knowingly choosen small so that arguments become valid in any case. But, reality is not as simple as those comparisons. So we don’t have to take them too seriously in the end.
If you take those discussion as edutainment you will have some fun during your breaks. But, it seems that such a phenomenon is also a prove that we have a serious problem in the software development business: We have a wrong focus in the minds of those who influence the development results most.
Important for the result is not a certain language feature but the design of your implementation. All programmers who focus on language features work with a much too narrow perspective. A (better) maintainability does not evolve from those hyped language features. But a good design evolves it, even if it is language-independent.
Successful implementations from the past show that those hyped features are not necessary to create good software. In the majority of cases the development language makes no differences. The modern object-oriented programming languages, or should I say the successful ones, have subtle differences. It is not worth to talk about. The language design is not important for the success of an implementation.
The only important question is: can I get enough experienced programmers for the programming language I want to use. The success of a programming language, and with it the number of available programmers who can be engaged, relates to the development costs.
For all those who criticize Java: Java is on top of those languages that make the development calculable. If you choose Java in your project the likelihood to get programmers is high. The likelihood to get skilled and experienced programmers is high. If I add the maturity of the language design and the rock-solid runtime architecture, the huge amount of successful implementations and the downward compatibility to it Java is a perfect tool for enterprise development. I can not recognize Java alternatives that deliver a better concept, a wider scope or more flexibility at the moment. Improvements on the language design level do not help here much.
What I miss most are concepts that really help to reduce the efforts to get customer requirements into maintainable implementations. We still have to think too much about non-functional requirements and are obstructed to concentrate on business logic. All frameworks that came up the last years do not really help here. So we need a groundbreaking new concept of software development to get a boost.

I'm Rainer Eschen, an IT-Business Architect, who looks back on more than 20 years of programming experience. Since 1994 I'm an IT professional with a focus on consulting and architecture. I have also been part of "the source" for three years, working as Sun Sales Support Engineer and Sun Java Center Architect at Sun Microsystems, Germany.
Actually, only narrow-minded programmers actually believe that anybody believes Java is dead
I think that those “Java is dead” articles are just here to generate traffic on some websites.
“Is scala the next thing….” “Groovy this…” “The Java replacement…”
To all those guys, I can just say :
- If you want/need to use another language or a scripting language use it
- If you don't like Java or if it doesn't fit your needs, use something else
- If you want Sun/Oracle to add some features to the JVM, write them an email
- If you want Sun/Oracle to support your scripting language as a first class citizen, which is not likely to happen for obvious reasons, write them an email