Tuesday, June 16, 2015

Lets be honest, Java is a piece of crap. Here is why

Many people including the fanbois or the ones who have put all their eggs in the Java basket and think that there is no way out would get angry at my post, and will get very very defensive and I understand that. But have a little open mind and think about it for a moment, isn't it time we kill Java? Here is why

It was cool

Sure it was the next big thing when it first rolled out, it came up with some new ideas (and overly exaggerated claims). The first and foremost was the Platform independence. Which made many feel warm and fuzzy, it also did a great job in promoting the rapid development. It put many people who would otherwise not code into coding.

It was crazy

Lets first talk about this crazy idea of Platform Independence. If there is one plain simple way to describe it, it is described in this bash.org quote (CAUTION: Its not PG). But really the point is about the usefulness of this feature. Sure, it will work for hobbyist coders who are writing cool command line utilities and they just want to give out binaries. But in today's programming world of writing portable code and compiling from the source (which has been that way in *nix environments for a very long time); this idea does not fly anymore. I mean, how many enterprise applications do you see who target their servlets to run on Linux and Windows machines at the same time? They choose one or the other and they stick with it.

Mistakes and fallacies in Java and Sun's failure to address those caused Microsoft to create C# (ok may be not "create" but you get my point). And C# caught on very good, many fanbois argue that C# copied the semantics of Java, I would say, Rub it in!! because Java copied the semantics of C++. Just moving those little access modifiers to the function signatures doesn't really make you creative. C# not only addressed the issues the rapid-development world was having, it added many great features afterwards to make people's lives easier and nowadays its Java trying to catch up by "copying" C# features.

Fanbois are dying for attention

Sure Java is dying slowly, Sun's acquisition by Oracle is a sign. Oracle possibly bought Sun because Java has been Oracle's lovechild for quite a long time and they had quite a few of their eggs in Java's basket. So what are the fanbois doing? They are dying for attention, while the developers of languages like Python, Haskell, and C# etc are busy making this world a better place, the hustlers of Javaland are busy using allegedly "cool" ways to create some PR. Here is one example. And of course the "3 Billion Devices Run Java" banner whenever you install Java. I say this to that: 3 Billion devices Run Java, rest of them work fine.

The Update-Diarrhea

And lastly, the everyday Java updates that are annoying as hell. You go to one website where their crap is written in Java and you are required to install Java to see their content. You make that mistake and now you are facing the Update-Diarrhea of Java. You would never possibly be going to any website again in six months that require Java to run, but Java will keep Java Update Scheduler (jusched.exe) running in your PC all the time taking up CPU time, memory, and sucking your internet. And the real fun begins when a new update is out, which is out like every freaking day, and the updater will bug you over and over. I have to be honest, I have a pet peeve with this Update-Diarrhea thing; what the hell is so important about you that you are spitting out updates too often and you are showing those pesky popups begging the users to click on that 'Install' button? I tell you why, Java is struggling, it is dying to get your attention.

Oh no they're here, hide Java immediately!

Lastly, I would finish my rant with this. Whenever we have aliens visiting us, we will be under pressure to show them the human ingenuity. We will show them the Great Wall of China, we will show them the mixed-fraction of Pi (3.14...), there is quite a lot to show off to them to impress them. BUT there has to be a list of things that we should hide so we don't sound unenlightened halfwit idiots and not worth exploring, and Java tops that list.

Feel free to disagree with me and let me know your thoughts in the comments below