Bookmark and Share

Choose your Java Wisely


Java has come along a long way.  Many would agree with this.  I did not until the Java 1.5 "Tiger" hit me.  The tiger had several new features, and more importantly, it has new syntax.  Six major upgrades that the tiger presents are certainly the generics, enhanced for loop, autoboxing (unboxing), improvement on Typesafe enum, Static import and the metadata.  Of course there are many more, which can be found at java's official site.  Out of these six, at least four would be used in my daily "programming" life.  From java 1.1 to 1.4, it seemed more like new frills were simply added.  It felt like earning more brownie points when you downloaded the newer version.  But should I start using 1.5 immediately, maybe not.

The developers and programmers (if you distinguish between them) are left with one great dilemma (me too).  It certainly is as to which version to use when preparing software in java.  This problem hides itself under the carpet when you are programming for a specific client with a specific system where you can get it upgrade on site, but when the app is going to be used by Mr. Williams from South Africa and Ms. Lee from Japan, you really have to give a thought as to whether your app is going to run on both the systems (that is why java was made in the first place, isn't it?).  I've always had the latest version of the sdk, yet I would try and target compiling in a lower possible version, so that even those people would be able to use the apps, who were, well, frozen in time and didn't go up the "version ladder".  For e.g., ordinary applets, by me and my company, in most of the cases would be compiled in java 1.1, so that no user ends up waiting for an hour before the plugin for the latest version is downloaded and installed (get yourself a coffee if your yawning).  For e.g., once on a tour, I happened to visit some site in a cyber café, which said that I needed to install java plugin 1.4 to view the page correctly (apparently, cyber cafes don't bother much about upgrading java), and when I did, it turned out to be a stupid advertisement (Ahhh! What agony!).  Of course, over a period of time, you expect the users to have gone to a level of higher java plugin courtesy other company's applets, but just to be sure?

Well, so this "dilemma" is real and has to be looked after (you don't stand a chance if you don't).  Many a times in java forums, you'll find beginners with the problem of "applet not initializing" and when the compiling is targeted for 1.1, it runs.  Preferably, developers should have the latest version (despite the huge bandwidth it's going to cost you to download it) and they should try and keep their apps designed, if possible, for lower versions for a universal application.   Although, this might not necessarily be imposed for a long time, but certainly try and keep your apps designed by the java 1.4 specifications for a few weeks, till most of the users catch on with the tiger.  This should also give you sufficient time to upgrade your programming ability version also.  A recent survey about java's versions had about 260 respondents out of which about 15% didn't know that java had versions, 8% preferred java as the good old java (can't believe it, me neither), 29% were happy, 32% wanted newer versions but wanted the syntax of older versions to remain and only the bugs being killed and the rest were too confused to have an opinion. 

On this note, its now entirely up to you to decide which is your cup of java.  I've just got a book to learn to tame the tiger and I'll be using java 1.4 till I tame 1.5 good.  So, I think it'll be around October, when I start using 1.5 hoping (with crossed fingers) that most of the users by then would be roaring with it.

I hope that this small article would help you make a decision about which version of java to use.

Shashank is the founder and administrator of the java apps rating site - thejavahub.com.  To know more about this venture with java, please visit his site at http://www.thejavahub.com

© Athifea Distribution LLC - 2013