Java is not a dead-end
This is a response to the recent Forrester article titled “Java Is A Dead-End For Enterprise App Development” by Mike Gualtieri. Here are the reasons why this is not the case…
Java is Popular
From the article itself…
Forrester data reveals that Java is still firmly planted in enterprise IT shops for custom-developed applications. … Java is not going away for business applications, just as COBOL is not going away. Java is still a great choice for app dev teams that have developed the architecture and expertise to develop and maintain business applications.
Also, the TIOBE Index has Java at #1 this month, just as it was a year ago.
The TIOBE Programming Community index is an indicator of the popularity of programming languages. … The index can be used to check whether your programming skills are still up to date or to make a strategic decision about what programming language should be adopted when starting to build a new software system.
It’s tough to make a case that a popular product is a dead-end. For instance, one of the best selling tablets right now is the Apple iPad. You know that Apple is going to release an even nicer/cheaper/visually-appealing version next year. Does that make the original one a dead-end?
The best/correct choice may not be the one that is made
Assume a new programming language called “Emerald” comes along and is clearly superior to Java for enterprise development. Just having that better alternative doesn’t automatically make its predecessor a dead-end.
For instance, an undeniably popular application right now is Facebook. It certainly has serious flaws, such as with security breaches and complex privacy settings and we can expect there to be better choices down the road, such as Diaspora. But even when you give great reasons, you can’t expect people to change!
The enterprise world is more resistant to change than your average user and isn’t going to drop everything to rewrite their apps in a new language.
All software and hardware become obsolete
There will be something superior to the Java language that comes along one day, so it may be considered a dead-end once that happens. However, in that sense, everything is a dead-end. Nothing can be the best indefinitely.
Software development can feel like you are trying to shoot a moving target, since technology is always changing, and we should always be looking to do things better. But just because Java isn’t perfect doesn’t mean that it’s a dead-end.