Link Details

Java is not dead…in fact, it’s got more than enough energy to kick your app in the butt. Too often, critics focus on niche issues and make unfair comparisons to other technologies or languages that do not have the same level of widespread use, applicability or history as Java. It’s like comparing a car to a carpet.

Posted by Oliver White  |   Jan 24 2012 / 07:28

Add your comment


Html tags not supported. Reply is editable for 5 minutes. Use [code lang="java|ruby|sql|css|xml"][/code] to post code snippets.

Comments

User 236075 avatar

henk replied ago:

Very nice writeup!

Reply 1 votes
User 812363 avatar

Oliver White replied ago:

Thanks Henk! Glad to see that Mr. Rick Ross of DZone editorial fame also enjoys the post :-)

Reply 0 votes
User 231553 avatar

LILkillaBEE replied ago:

Reply -9 votes [show comment]
User 812363 avatar

Oliver White replied ago:

My question is why you, as a member of a "dynamic development team of IT enthusiasts who are specialized in Microsoft technologies like ASP.NET C#" is sticking his nose into this conversation. I guess your project load is pretty light?

Reply 0 votes
User 231553 avatar

LILkillaBEE replied ago:

Oh, I'm loaded with projects... :(
And why I'm sticking my nose is because I'm Java developer too :)

And I was commenting on this post because I think there is no serious developer who thinks that Java is dead, so this article is troll food, don you think?

Maybe I should update that web of mine :)

Reply 0 votes
User 231553 avatar

LILkillaBEE replied ago:

And I almost forgot, I apologise to you as an autor of the article for my words!

Reply 0 votes
User 812363 avatar

Oliver White replied ago:

I can see how some things can be interpreted as troll food, but I think this article has achieved exactly what its original intention was: too start a conversation that encourages people to share their views. Too much one-way communication and releases dominate IT news, JUGs are dying out and the Java community at large is under threat from simple indifference. Yet the demand for Java devs today is greater than ever. It's these types of bigger questions that we like to discuss internally at ZeroTurnaround, and hope to bring that conversation to a wider audience. But a down-vote for bringing up the topic? Really? Well, no thanks for that! (by the way, Arnel Pallo was the original author of this article...did you even read it or just down vote on principal?)

Reply 0 votes
User 812363 avatar

Oliver White replied ago:

Yikes, excuse random typos (too start...., principal) -- long day!

Reply 0 votes
User 924841 avatar

kevin_brown replied ago:

Nice article really, although there's one thing about it that I'm a bit less happy with.

Implicitly the article seems a bit biased against Java EE, for instance:

"Or comparing the Play! Framework vs Ruby on Rails? Or Spring MVC vs Zend Framework? When put in this light, I feel that Java does not seem like a “language for old people” anymore."

This seems to implicitly say: "Well, standard Java (EE) contains these old clunky frameworks that make it seem like a language for old people. But just look outside Java EE to alternative frameworks and that you'll discover it's very modern!"

You're not literally saying this, but this is how it comes across (to me at least).

Of course, most of us know this is not true. Just like Java itself, people like to claim that JSF is old, doesn't support GET, is complicated etc. But in reality this is almost always based on JSF 1.1 (from 2004!), and the latest version of JSF (2.1) is very elegant and simple and of course supports something like GET.

A similar thing goes for EJB, CDI, etc.

Reply 4 votes
User 196387 avatar

Jevgeni Kabanov replied ago:

@kevin_brown

I think that standards are nice, but the real innovation and the "cool" part of the ecosystem happens (and should happen) outside standards. The reason we did get EJB 1.0 and JSF 1.0 *was* exactly the fact that those were standardized prematurely, before the community figured out the best way to do things.

Reply 0 votes
User 236075 avatar

henk replied ago:

I agree with Jevgeni here. Without even the slightest amount of doubt, both EJB 1.0 and JSF 1.0 were horrible. I could write a complete book about all the things these two did wrong, but let's leave it at that I hated both technologies immensely.

Not so with EJB 3.x and JSF 2.x though (and Java EE 6 in general).

These are by every account *really good* technologies. And Sun/Oracle did exactly what Jevgeni suggests. Innovation mainly happened outside the standards, and then the best things of lots of good ideas were put into Java EE 6. Especially for JSF 2.0, the EG has done a tremendously good job in just listening to the community and addressing (nearly) each and every complaint people ever had against JSF.

For instance, everybody knew the JSF/JSP combination was just wrong. Instead of inventing a new VDL themselves, they simply took the existing Facelets solution and included this in the base spec. Likewise, OCP's PrettyFaces was a direct inspiration for the bookmarkeable support in JSF 2. In many cases, they worked closely with the original engineers of those community projects.

Likewise, the entire process is very open now. There is a public JIRA for most Java EE projects (Java EE itself, JSF, JPA, EJB, Servlet, JMS, etc) where everyone can post proposals and quite a lot of them have been accepted.

As a result Java EE is now a very lightweight and elegant framework. It's sad that some people still only think in terms of J2EE 1.4 and before, and still think it's about closed source, ivory tower and design-by-committee. These days are SO FAR behind us...

Reply 2 votes
User 286106 avatar

sboulay replied ago:

"It's sad that some people still only think in terms of J2EE 1.4 and before"

Henk, are you under the impression that there is more EE 1.6 out there then J2EE 1.4. Those days are not behind us .. not for some time to come. The likes of giant app servers like Weblogic just got support for EE 1.6 this year.

Reply 0 votes
User 236075 avatar

henk replied ago:

>Henk, are you under the impression that there is more EE 1.6 out there then J2EE 1.4.

I certainly see a clear growing trend of people being happy with Java EE because of the direction Java EE has been moving in since Java EE 5. When J2EE 1.4 was the latest version, there weren't many blogs about J2EE except a few from open source minded vendors (like JBoss).

Compare this with the current situation. Check Dzone, Reddit, Twitter, questions on Stack Overflow etc. Additionally, in the numerous Spring vs Java EE fights, Spring ALWAYS had the majority "vote" in the past. Poor guy who tried to stand up for J2EE/Java EE, since he would be simply overwhelmed by people claiming how good Spring was and how bad J2EE was.

Not so now, just check the comments on e.g. some of the Spring to Java EE migration articles that have been published recently, or questions on SO about Spring vs Java EE. It's not the lonely "Java EE defender" against the angry Spring crowd anymore. On the contrary, in various such discussions it are the Spring fans who now seem to be in the minority.

This is not strange, since Java EE 6 is simply a very good framework. Spring fans have a very hard time lately explaining what's bad about it. The old mantra "Spring is lightweight, containers are bad" simply doesn't cut it anymore, since A) Spring is perceived as having become more and more heavyweight, while Java EE has only lost weight and B) Spring actually has a bean container as well, so that entire line of reasoning is going nowhere anymore.

In terms of places using at least Java EE 5 and then specifically JBoss AS or Glassfish I also see a strong increase. This is supported by several surveys (do the Google math yourself :P).

>The likes of giant app servers like Weblogic just got support for EE 1.6 this year.

Well, it does mean that Java EE 6 is now massively supported in all segments. Ironically, it's only JBoss now which doesn't have a full profile Java EE 6 implementation (they do have a web profile offering). Weblogic wouldn't be my choice either, but it does mean teams who choose that server have access to the same massive simplifications in the API that other Java EE 6 users enjoy, so I don't see this as a bad thing at all.

Besides, isn't the download size of Weblogic something like 164MB? It's approximately the same size as JBoss AS 6. Now there's also some installer based version that's an insulting 1.2GB in size and adds stuff like Oracle Enterprise Pack, but it seems you don't need that. (there is some weirdness though regarding 64 bit JVMs, where you suddenly need some obscure generic installer that's nearly a GB again)

There were rumors some time ago that even Websphere, the anti-Christ to everything that is lightweight, was going to massively slim down their offering (we'll see ;)).

Reply 0 votes
User 399050 avatar

arhan replied ago:

Indeed. The WAS8.5 Liberty profile with download size of 25 Mb. Configuring it is still a bit of an exercise however :)

Reply 0 votes
User 338269 avatar

Miloskov replied ago:

Java forever and ever baby!. This is also Groovy and can Scale without limits bro.

Reply 2 votes
User 338269 avatar

Miloskov replied ago:

Really the JVM is the awesomest thing in this era of IT. Be it Java, Groovy or Scala are wonderful tools on the JVM.

Reply 0 votes
User 812363 avatar

Oliver White replied ago:

Some of the guys at ZeroTurnaround, like Jevgeni Kabanov, David Booth and myself, would probably enjoy some swag too, if it's possible. Trade you for some ZT stuff! ;-)

Reply 0 votes
User 254233 avatar

alien3d replied ago:

Writing Java code is fast when using a modern IDE (Eclipse, Netbeans, IntelliJ). ?
I had 8 gb box. Eclipse easily catch my ram till 3 gb . in the end notepad++ the fastes way.

Reply 0 votes
User 254233 avatar

alien3d replied ago:

Writing Java code is fast when using a modern IDE (Eclipse, Netbeans, IntelliJ). ?
I had 8 gb box. Eclipse easily catch my ram till 3 gb . in the end notepad++ the fastes way.

Reply 0 votes

Recommended Links

Scala
Written by: Ryan Knight
Featured Refcardz: Top Refcardz:
  1. Apache Hadoop
  2. Play
  3. Akka
  4. Debugging JavaScript
  5. Design Patterns
  1. Apache Hadoop
  2. REST
  3. Java
  4. Git
  5. Java Performance
Connect with DZone