Dear Java!

We have been your childhood friends since 1995. Now, you have grown-up and are looking different (in fact totally different in some developers’ hands).

You were born and surged in your adoption because of your simplicity and platform independence that you possesed, but your contemporaries of the time lacked (C, C++). Unfortunately, as time passed on, you now possess all of the features (aka complexities) that were part of C++ in the name of “flexibility”. I think but for pointers and manual memory releasing, you have all of the features of C++. How ironic, you lost the charm you had at birth – you are not simple any more. In recent times, your adoption has diminished in the startup space. Note: In the previous sentence I didn’t use the word “diminishing,” rather I used “diminished” – to emphasize that you have already lost your battle in startup space. None of the known startups started in recent years use you. This wasn’t the case with the startups which sprang up during the dot com boom (in 1999/2000). Most of the dot com’s where built on you.

Eight years back, I attended a Web 2.0 conference which was held in Moscone, San Francisco. I went pretty late (around 5.00pm), to the exhibit hall, and had a chat with a vendor at their booth. The vendor mentioned that I was the first Java developer that he met since the beginning of the conference. This sent me a strong message. From that day on, just to keep ourselves marketable, we have started becoming acquaintances with other programming languages – PHP, Ruby, node.js. Because with you, to build something simple, it takes too much time.

Here is another thing that frustrates your friends, instead of driving innovation you are trailing. It’s quite unfortunate that what one of your chief engineers, Bill Joy, says – “Innovation happens elsewhere” – has now become so applicable to you. You gained popularity because you solved the platform dependence problem in the server/desktop arena. When the same problem resurfaced in the mobile space (where there is a proliferation of devices, OSs, run time environments) – you didn’t capture this tremendous opportunity. This was your problem; you should have solved it.

Even within your community you are trailing at innovation. After IOC Factory the space has been saturated by Spring and Guice – and you are coming with the CDI specification for it. Another example is for an HTTP client. Oh, and there are several other examples that can be cited.

We understand you are getting the step child treatment in your new family, but don’t worry you have several unmatched assets:

You have a powerful foundation (JVM), which gives you great stability, and platform independence

A huge (9+ million) developer community

A strong framework/library ecosystem

You are still a rock-star in the enterprise space

We all love you a lot. Please start to practice your foundational values of ‘simplicity’ and ‘innovation’. You have huge responsibility in your hands. Several engineers' livelihoods are with you.



One of your long-time friends,

Ram Lakshmanan

To read my other blogs, please visit http://blog.tier1app.com