Why Java Will Always Be Suitable For Enterprise Development

DZone 's Guide to

Why Java Will Always Be Suitable For Enterprise Development

· Java Zone ·
Free Resource

A recent Forrester article proposes that "Java is a Dead End for Enterprise App Development". It's a headline that grabs your attention, especially if you are a Java developer, but does it have any basis? I don't think so. Let me explain why.

The article refers to recent survey results, showing that Java is still one of the main options available for as a development platform. No surprises there.


However, the article goes on to say that Java has served it's purpose, and that it's time to move forward. Some of the reasons provided for the need for change include that Java's VM limits innovation to traditional services provided by Java and that Java is 20 years old. And so onto the conclusion:

Clear standard alternatives to Java and C# for custom-developed applications do not exist. There are issues with many of the alternatives. For example, BPM tools are great for defining and implementing processes but a poor choice for implementing compelling user experiences. The market for application dev tools is beginning to change though. The next generation of app dev tools will:

  • Dramatically increase developer productivity.
  • Allow developers to delegate change to business end users.

I don't see how Java fails to deliver here? There are frameworks that support rapid application development across the Java ecosystem : Spring Roo and Play being the front runners.  Android gives Java it's place on the mobile space, and again, Spring/VMWare provide compelling cloud computing solutions. There's nothing that enterprise application need that Java cannot deliver.

The way I see it, Java is nothing like a dead end for enterprise applications. But if you agree with the Forrester article, I'd like to hear your reasons.


Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}