Forrester Research: Java Is A Dead-End For Enterprise App Development


It’s not really new to anybody in the IT industry: trends need to come and make big bucks and they also need to go and free the stage for new ones, so that even more bucks can be made.

Analysts do play their role in making a trend come or go.

This time, they are on a mission to declare Java as legacy which will be replaced. It’s not yet fully clear what’s coming next, but Java is in our way (Well, I somehow agree to this one but I already agreed to it 8 or 10 years ago).

The latest mosaic piece is a blog post named “Java Is A Dead-End For Enterprise App Development” by Mike Gualtieri from Forrester Research, in which he explains why Java does not look into a bright future. His advice is:

Java development is too complex for business application development. Enterprise application development teams should plan their escape from Java.

Amen!

There are quite a few arguments in his article that make a lot of sense:

Java frameworks prove complexity. Hibernate, Spring, Struts, and other frameworks reveal Java’s deficiencies rather than its strengths. A future platform shouldn’t need a cacophony of frameworks just to do the basics.

True. But when it comes to Struts and other web frameworks, we must be fair and say that the complexity of web applications is not really Java’s fault, it’s because the mess of technologies like HTML, CSS, AJAX, JavaScript, HTTP is extremely complex and the whole web application chaos comes from the fact that we always nail new additional technologies onto this ball of mud to save a particular problem, rather than just come up with new and improved bas technologies. Java with its static typing just adds a few dozen adaptors, beans, templates and xml files on top of that for the simplest jobs. Partly due to the fact that we still fear to throw away code and want everything configurable to a degree where programming is the smallest part of assembling a web application. But that’s another story, let’s continue looking at Mike’s post:

Java is based on C++. Is this really the best way to develop enterprise business applications?

No, it’s not, but nobody ever really said so – apart from Sun and IBM. And the reason for that was not really altruism but the quest for big Bucks😉

Java’s new boss is the same as the old boss. Oracle’s reign is unlikely to transform Java. […] So far, it appears that Oracle is continuing with Sun’s same failed Java policies.

Right. Larry wants to see some return on his investment in Sun, so being a Java Superstar is not on his list of priorities. I’d say arguments like this are just a sign of disapointment about the fact that the industry is still a place were people want to make money. Which I think is not too bad, since I am part of it and need to feed my kids. So this is neither a technical nor a rational argument. Java could still be great even if it cost 10000 Dollars per developer seat. But it’s not, even though it’s for free.

On the other hand, the community has added a lot of valuable code around Java that really makes Java a powerful platform.

Gualtieri comes to these conclusions:

What It Means: Application Development Teams Must Find A Better Way To Develop Apps

He’s oh so right. What I see in may daily practice at major IT shops is so depressing. Levels of complexity layered by the dozens, and nobody can draw a picture of their part of the overall architecture which would help anybody understand how The Enterprise System really works. No idea who to call when a Transaction fires some weird error message. Badly educated architects with a wall full of certificates and methodology popes sitting in their ivory towers. Java is just a little piece in the puzzle which adds complexity within software systems. But it does a great job of it.

The next generation of app dev tools will:

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

Unfortunately, he forgot to name them. But I somehow have the feeling I read sentences like this in the early nineties. And maybe people with a longer history in IT may know these wishes even from the 70ies or 80ies.

Interestingly, technologies like that have existed for decades. Smalltalk for example allows for high productivity, is highly adaptable, can be learned quite fast (I do train people in Smalltalk that come from very diverse backgrounds, and they learn pretty fast). It’s just that Smalltalk has been covered in articles from colleagues of Gualtieri 15 years ago😉

2 thoughts on “Forrester Research: Java Is A Dead-End For Enterprise App Development

  1. Hallo Joachim,

    heute keine Lust auf Englisch: Das ist doch alles kalter Kaffee. Der Autor beschreibt selber, dass es keine Alternativen gibt und sagt für die nächste Generation voraus, was man schon bei Java vorhergesagt hat: radikale Verbesserungen bei der Produktivität.

    An diese radikale Verbesserungen glaube ich nicht mehr – bzw. nur noch in einem sehr engen Maße mit höchst speziellen Frameworks.

    Die suchen nach der nächsten Sau, die sie durchs IT-Dorf treiben können …

    Marten

    1. Hallo Marten,

      um Sinn oder Wahrheit geht es bei dem Analystenkram ja auch gar nicht. Hauptsache, man läutet einen neuen Trend ein, der die Industrie wieder 10 Jahre lang ernährt😉

      Und dennoch: wenn Oracle so böse ist, und wenn sogar die Analysten sagen, man muss von Java weg, bleibt was davon in den großen Unternehmen hängen. Und damit läutet man nach und nach die nächste Revolution ein.

      Auch das ist nichts neues. Früher hiess der Prophet IBM, heute Forrester, Gartner, TIOBE oder sonstwie. Was die sagen, machen wir in 3-5 Jahren. Immerhin: man darf inzwischen aussprechen, dass Java, C# oder C++ nicht die optimalen Plattformen, und schon gar nicht für alles sind…

      Und wenn einer so öffentlich auf Java rumhackt und das im Namen einer angesehenen Analystenbude, dann ist mir das einen Blog-Eintrag wert😉

Comments are closed.