portrait picture

TIMO ZIMMERMANN

balancing software engineering & infosec

Why I Do Not Use Java

posted on Saturday 11th of February 2012 in ,

I was talking to a client and we discussed the possibilites for a client
management application they want. Beside some implementation details I
was thinking of and talking about security aspects we came to a point
where my client started asking technical questions. He knows an competitor
who has a similar system. They used Java and he asked why I would not
use it.

This is no discussion about old, known facts. I think we all agree that
Java just sucks, is ugly and bloated. If you love writing XML files
for your applications, prefer being spanked while bent over a chair and
hope that you will some day be in prison to drop the soap you are welcome
to disagree. But this is not the topic of this post.

Sun, which is now Oracle owns Java. And did you ever read the license
agreement? You know this long, boring, lawyer written text box which could
state that with clicking “agree” you sell your soul, body and everything
you own to a church an no one would notice?

To talk about a recent example. You could have heard about the lawsuit
against Google. They use Java for their Android phone. Oracle believes
that Google owes them 2.6 billion dollar or something like that for
using Java.

What happens if Oracle wins and Google refuses to pay? Or if they cannot
afford it? Basically Android will just be dead. Of course there will as
always be some ways around and of course they would pay since they have
enough money but 2.6 billion hurts, no matter if you are Google or not.

How does this affect me and you?

Just imagine Oracle believes that they can make more money with Java if
they start selling the SDK now that so many people and companies use it?
Oracle showed that they a professionals when it comes down to squeezing the
last few cents out of a product. I would have to buy licenses or rewrite
all applications I have to maintain.

If you write Java applications you are forced to listen to Oracle. There
is just no alternative and they are a company trying to make money. It
is that simple.

Why should you choose another language like Python, Ruby or $foo? Take a
look at their license, take a look at the community, take a look at the
different implementations running on various VMs and try to answer this
yourself.

If one of the implementations you use stops working you just take five
minutes to port it, if this is necessary, to another one. Try this with
a Java application that consists of more than 500 lines of code and this
creepy open implementation that has more bugs than Windows ME.

No matter if you like this creepy language or not – you should think about
your clients, your work and what will happen when a company that is known
for squeezing as much money as possible out of products notices that there
is an additional one in their product line.