Geek talking

Pinoy geek talking about everything under the sun

Java is so 90s!

Posted by rom on December 14, 2005

Businessweek just posted an article stating that Java is an old technology considering that most of the Web 2.0 applications use LAMP (Linux-Apache-mySQL and take your pick for P – perl, python, php). Just to set the scenario, first of all, I am biased to Java being one of the proponents of the Java Education & Development Initiative, where we develop and give away Java-oriented CS/IT courses for free. Next, I do not support Microsoft — some of my comments may be taken as an attack to the company. Lastly, although I am a Linux advocate (I co-founded the Philippine Linux Users Group (PLUG)), I mainly use a Mac for my everyday computing needs.

On Java and PHP. Everytime I get a client asking for training, I make it a point to first check if they know Java or are familiar with C/C++, if so, then I recommend training in Java. However, even with my bias towards Java, it is often quite difficult to ask clients to get trained in Java as opposed to PHP. Local clients often have simple requirements and want solutions delivered stat. Going the Java route is ideal but often does not allow for quick and dirty solutions.

For enterprise level applications, however, Java is the only solution that I prescribe. Yes, it does require a lot of training but it is well worth it. Practically 95% of projects that I manage are done in Java – either using J2SE, J2EE or J2ME!

Java and .Net. People say that .Net applications perform faster than Java. I hate to say this but I admit that it is true! It is true to the extent that .Net is tightly integrated with the underlying OS (operating system) whilst Java’s Virtual Machine is an add-on to any OS. If (I should say when) Java becomes an integral part of the OS, then expect performance to improve significantly.

The performance of Java, however, depends on the implementation of its virtual machine. I am wondering how fast .Net apps run on Mono or dotNet. In some cases, Java’s performance is almost, or even way above, at par with systems programming languages such as C and C++.

Now, try getting any .Net app and running it on a Mac – now that is something that will be very difficult to achieve. Do the same thing for a Java app and chances are you just need to tweak a few things like the way the app handles the menu and basically that is it.
Java and Web 2.0. Ah, this is where the AJAX (asynchronous javascript and xml) comes in. The advantage of LAMP here is that they are quick to deploy and quick to do changes in their technology. Java, otoh, takes quite some time before it can adapt technologies such as AJAX as an integral part of its engine. It is not as simple as adding it, imho, since there is a community process that approves these things before it gets out for public consumption. This is the closest way Java can become open. No, I will not go into the open sourcing java debate. 🙂

So is Java so 90s? I’d agree if I didn’t know that Java technology is evolving. If it remained as stagnant as C and C++, then perhaps it is already old. However, if only Java’s evolution can pick up its pace a little, then people will not have a notion that it is aging.


Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: