Oh, you think Java sucks? How refreshing
Current virality of five year old article defending Java demonstrates that hate for the language is still in style – but why do users continue to care?
Still talking about the credit crunch in sales meetings?
Panicked about swine flu? And how about that kooky Lady Gaga –
whatever will she do next? All of these things were top Twitter
trends in 2009. Also ‘trendy’ in 2009: hating on Java. But that’s
one bit of zeitgeist that’s yet to become passé (sorry Gaga) – and
a link to an article titled ‘Please
stop saying Java sucks’, written by Jason Cohen nearly
five years ago, has gone viral on
Reddit just this week.
So why is this piece still resonating now? Java is
bigger than ever, with some of the
highest paid devs in the business. Although you can pull apart
the mechanics of some of these ‘biggest programming language in the
world’ lists, by and large, Java is generally perched at the
top, in first or second place. In 2013, Java was the most
searched for skill keyword by recruiters. It’s clearly not going
Perhaps the sheer ubiquitousness of the language is
the key reason that hating Java will never stop being “en vogue.”
As one Redditor puts it:
New languages spring to life and die quiet deaths as
often as galaxies in the universe, but there are very good reasons
certain languages are still on the tip of everyone’s tongue when
the discussion crops up, even 20 – 30 or more years later. Java is
portable, verbose, strict and flexible in all the right ways. There
is a time and a place to use it as the primary language…not every
time, nor every place, but its relevance is here to stay for a long
In Cohen’s article, he does concede that, yes,
compared to something like Ruby, Java coding does necessitate
a whole lot of lines of code. If you rewrote Firefox in Ruby, it’d
have five million lines, as opposed to ten million. Big freaking
deal. When it comes to it, the people who fall into “more lines of
code for the same job is automatically bad,”do appear have a point.
A larger amount of code does leave a larger margin for error – it’s
also harder to fathom what’s going on when you’ve got so much
material to sift through. But to argue this would be to overlook
the fact that certain apps “have no choice but to be millions of
lines of code.”
Moreover, when it comes to it, just think for a second
about the ramifications of actually sifting through five million
lines a code. Who could actually do that? When you’ve got that much
unfathomable code, what does it matter how long it is? Either way,
it’s not like you’re going to just sit and plough through it.
Ultimately, for Cohen, Java is the superior option for
working on large code bases, and “Fewer lines of code” and “I don’t
need types” isn’t enough to convince him to fall in line with the
He adds that, “to me, I need a good reason to abandon
a JVM that’s faster than a C compiler, IDEs like Eclipse, tools for
correctness and profiling and debugging and analysis, the vast
array of quality libraries, and millions of people who are already
familiar with the environment.”
With so many people queuing up to bash their language
of choice, maybe it’s not surprising that Java Redditors continue
find posts like this relevant. And, as we’ve seen with Scala,
there’s nothing like someone ripping into your code of choice to
arouse the slumbering anger beast within even the mildest of
developers. But, at the end of the day:
Do we really care about a five year old blog
post whining about what a seven year old blog post by some douche
who was trying to sell his Ruby books says?
Come on /r/java, have some confidence
and quit worrying about what other communities think.
Aren’t we sick of all the debates? This guy certainly
is – and, we’re sorry irate Redditor, sometimes us tech editors
can’t help ourselves:
Please stop writing article solely on the
relevance/irrelevance and/or goodness/badness of Java. Jesus
Perhaps we should just all embrace the philosophy of
the writer below:
All languages suck. If they don’t suck, then
you’ve drunk too much of the cool-aid.
I swear, every time I learn a new language I
go thru a series of stages.
1. (How do you work this thing):
this language sucks because I can’t use it like language
2. (OK I get it): this language is
better than language ‘X’ because you can do this this
3. (in the bowels): ok, so now I
need something non-standard, how do I get there from
4. (Acceptance): This language
sucks, but I understand why it sucks and I’m ok with
This commenter would certainly like us to.
I want to print this out and mail it to every past,
current and future coworker I have. Well fucking said
The best option seems to be to declare a state of
mutual loathing all around, and end the fighting once and for all.
Joking. Have you seen how slow Groovy is? Oh.My.God…And let’s not
get started on Scala – oh,