Thursday, December 15, 2005

Why do people compare Java to Cobol?

Can you create real time applications using Cobol? Can you write cell phone applications in Cobol? It makes a lot more sense to compare Java to C++. Notice how no one talks about C++'s cool factor?


Blogger Faiser said...

This just came up in discussion yesterday.

I think the comparisons are more life-cycle based than functionally based. And by that, I mean life-cycle of the entire language.

In this perspective, the analogy may hold: The use of Java in enterprise development is being challenged on a number of fronts. This introduces the real threat that use of Java for new projects might be foregone, thus leaving it in a COBOL-like legacy status.

It's interesting to identify the major threats to which I refer above. This, because these are functional, architectural, and cultural. For instance, lack of closures in Java expose it to a functional threat from languages that include this feature (e.g. Ruby). Additionally, there is a growing set of frameworks that compete architecturally with the J2EE (w/ EJB) model (e.g. Django, RoR). Finallly, it's an increasingly safe argument to claim that the Ruby, Python, and PHP communities have been infiltrating the mainstream enterprise development world (e.g., Yahoo!'s decision to move to PHP a while back).

It's also interesting to examine the Java community's response to these threats. There have been many a library written to install features that are absent from the standard JDK (e.g., the JAggregate library's port of the smalltalk collections framework to Java). In a similar vein, frameworks like Spring and Open Sails (nee Java on Sails) provide pure Java alternatives to the J2EE w/EJB model. And for the cultural argument? Well besides having intense dudes like crazy evangelize the language, I guess having Sun-sponsored Java SIG groups raffle off 42" plasma's at their meetings doesn't exactly hurt Java's standing in the development community.

Back to the initial point - I understand why Java is compared to COBOL. It's not because the functionality of the two languages is similar. It's because the life-cycle of the languages are comparable.


5:20 AM  
Blogger Bob said...

So more specifically we should compare J2EE to Cobol? I'm all for that. ;)

7:56 AM  

Post a Comment

<< Home