JavaAnd no I'm not talking about the country - I've never been there but I'm sure it's very nice (it's the biggest island in Indonesia and the 13th largest in the world by the way). No the Java I'm talking about is the one developed by Sun Microsystems that if I had my way, I'd put in a bus and happily drive off the end of Java into the deep waters of the Indonesian sea.

From as long ago as I can remember, using Java has always been a traumatic experience. I can't believe that by now, neither Apple nor Microsoft have come up with an alternative to the Java platform. Of course, the one redeeming feature of Apple and Microsoft is that Java works across all platforms but surely Apple and Microsoft could have put their differences aside to work together to create something more usable than the hell that is Java. Here are 5 reasons why I can't stand it:

1. It's slow - Whenever you click on a link or enter a page that uses Java, you know it's time to put the kettle on. If you're lucky (or unlucky), you'll also have time to pick up the kids from school, go to the gym and perhaps write that novel that you've kept putting off. Using Java Applets can be a particularly painful experience and playing games based on Java is sometimes like playing chess in treacle.

2. No warnings - There's often no warning that you're about to click on a link or enter a site which requires Java. I think this should be mandatory in the same way that browser's often give you security warnings about certain sites. But no, when you click on something that involves Java, there are no warnings other than occasionally that annoying little coffee cup that appears in the corner of your toolbar (in Windows at least).

3. "Cross Platform" Yeah right! - I recently made one of my more smarting computer moves by buying a Mac. However, the Java Applet that I need to upload files to a server didn't work on it. It barely worked in Windows at times but on the Mac it simply didn't even respond. If you didn't know, Macs have different requirements for Java as you'll find if you look for the scant information that exists about it on the Sun Java website. (The solution incidentally was to use Windows in Parallels and upload the files that way).

4. Sometimes it simply doesn't work - Even in Windows, the aforementioned applet was very temperamental. If it did finally open, files would require renaming to upload, it would freeze, crash, the browsing interface would kind of make folders and files disappear for a while before deciding to make them reappear again. Using Java is sometimes like a game of Russian roulette...

5. The logo - Erm, yeah while I'm riled let's go the whole hog and let loose with both barrels. Change the damn logo Sun! That wispy steaming coffee went cold and stale years ago - at least if you can't provide a decent platform, give us something nice to look at while you put us through hell.

OK, I've calmed down a bit now and I realise that sometimes it's not Java that are a fault - sometimes it's the programmers and developers that create Java apps that have made the errors and sometimes it's just a simple Java update that's needed. But for Pete's sake Sun, it's time to smell the Java coffee and improve your platform!


  • Aj |

    Ha ha. Ha ha. Ha ha...

    Good one.

  • Dave Armstrong |
    Dave Armstrong

    I shared your comments ... back in 2002. But you are sorely out-of-date with your comments.

    1. "Java is slow" - Not any more. Java compares to compiled languages now. In fact, it is compiled, it is just compiled from pcode at run-time.

    2. No warnings - true, but you don't have any warnings if you click on any other link. Where did you think the webbrowser provides a warning when you click on a link?

    3. Cross platform - it is true that Java is not 100% platform-independent in all circumstances, especially when it comes to hardware. But it comes pretty close. Our application is 750,000 lines and it runs on Windows and Linux with the exception of serial port handling, which is different between windows and the rest of the world.

    4. Sometimes is doesn't work - Java works as coded just like any other language.

    5. The Logo - If the logo is in your top 5 list then I think you must really be grasping. Perhaps you hate java because you just hate java?

  • Colin |

    Tell me about it!! I just received a notification that there was a Java update and did I wish to continue. Foolishly, I 'yes'd' it. It downloaded and ...poof!.. a notice popped up stating that Chrome Registration had Failed and Firefox was unable to install this item, etc, and to contact the Author etc, etc, GREAT!FANTASTIC!--- WHAT item? where is it? WHAT'S the problem? How do I stop the constant pop-ups? Deleting temporary files do not stop the pop-up notice.There is no recent up-date of Java to be found on my computer search of all files. But, luckily, I don't have to rely on my memory to remember that it is still here because I am fortunate enough to have a little pop-up message that pops up twice each time I open a programme like email, or make a move on the internet, or on the computer -- Some people have all the luck. Colin

  • Transcontinental |

    I've never had any problems with Sun Java. Of course, best practice is to remove past version(s) when installing update. I've just updated to 'Java SE Runtime Environment (JRE) 6 Update 10 RC1', faster than ever, not one problem, be it IE, FF or java-based applications. What's this grief against Java, the latest fashion in town ?! :)

  • Nicholas Mead |
    Nicholas Mead

    @ Dave - I'm sure from a developer point of view, Java has improved hugely over the past 5 years and yes, I agree that it has.

    The post was inspired by my conversion to Mac and one particular problem I had opening a Java Applet. It just opened the floodgates to various gripes I've had with Java for a long time.

    (I was indeed grasping by point 5 by the way :))

    @ Colin I sympathize with you - you can use this site to check which version of Java you're definitely using by the way:


  • Headhunter |

    Life is too short for Java, I love PHP!

  • Marjan |

    I hate java because: * too much settings in eclipse to handle all of them * waaaay to abstracted. where the fuck are properties from system.getproperties stored?? * cannot compete against built binaries no matter what 'experts' say * portability my ass * takes as much machine resources as OS, not an application * needs at least 3 ports open for SSL communication over internet. Ridiculous. * Actual version is not backwards compatible. Rebuild all your apps! * It's as slow as...as... I cannot find comparison! Nothing is so slow * It's revolutionary over being evolutionary * complicated * bloated * JARs, WARs, SARs, MARs * SE, SDK, JDK, JEE, JNDI,JDBC * compliances, contexts, hashes... Need any more?

  • Jordan |

    Regarding Dave Armstrong: "4. Sometimes is doesn’t work - Java works as coded just like any other language."

    No it doesn't. In my programming class, any given program would not work the same on any two given machines. All the computers were identical as far is hardware was concerned. At home my program would look/work great, but at school it was ugly as sin.

  • Frixus |

    Maybe you're all just complaining about Java because you write shitty code and don't want to take responsibility for it and try and learn something for a change. You sound like a bunch of VB.NET developers.

  • Nicholas Mead |
    Nicholas Mead

    I'm glad this has stimulated some debate between developers. It's clear from the comments posted that users and developers have quite differing experiences using Java which is one of the reasons the language is so problematic.

    The fact is, there is a definite difference in the way Java, especially JavaScript, works between browsers. For instance, I have first hand experience of JavaScript and Java Applets working fine in Firefox 2 Portable but not in Firefox 3. Of course, this is probably Mozilla's fault but it just goes to show how problematic Java can be when it comes to browser developers supporting the most basic on Java functions.

    That said, Java has added a valuable dimension to internet browsing, it's just a shame that the language can't be made a bit more universally standard in the way it works for all browsers.

  • Marjan |

    Frixus, believe me or not, I DON'T like dotNET. I don't like any of new revolutionary technologies. They may be productive AFTER you get a complete knowledge of them, but it my take a loooong time. And after you think you master them, MBA's are already pushing forward another revolutionary technology you'll have to master. Well, fuck them! This is what I call sheep-salt technology. And it looks like it works much better then contents itself! I think that person asking "Why is there not enough developers available?" has lost a contact with reality. There were times when programming was art. Now it is a mass industry and as such it is sublimed to business interests and it is therefore SCREWED alltogether!

  • Albert |

    I hate java as well...

  • Arinze Orjiani |
    Arinze Orjiani

    I don't exactly hate Java. But Hell, Java is simply difficult. I think Netbeans is the most boring and unproductive IDE ever made on earth. If you are looking for a better alternative, try C#, it gets the job done, gives you the power of C/C++ and yes...its platform independent (almost).

  • marco |

    I hate java! I had to install six jvm updates on my notebook - about 800 Mb. java works in background always (why?). my zone alarm agree with me when, every time I switch on my computer, java tries to connect itself to internet (again...why? I disabled the automatic update). After these all cons, java is used just for boring web applets (1/3) and ... by viruses (2/3)! bleah,,,

    PS: I developed in java for two years - just the basics, but I know the argument.

  • Jim in Atlanta |
    Jim in Atlanta

    PLEEAAASSSEEE stop developing Java applets. Every where I go whether it is home work or the hospital I volunteer at Java applets are the main problem.

    What's worse is there is no support! So Java doesn't work on any website anywhere? Too bad. The only suggestion on the Sun website is to uninstall all old versions. Did that. Does nothing to fix problem.

    I don't know of any modern day platform that comes close to giving as many problems as Java applets. Period.

  • Marnix |

    Java used to be awesome, now it's slow and outdated.

  • simon |

    I HAAATE java.. I just freakin hate it.. Every time I see the java loading window I think my life expectancy drops with about 1 hour. It's so god damn depressing..

    I have unfortunately a program that I use every day, that only exists in java. A serious securities trading program. 80% of it is of course completely responsive, but you have for sure the remaining 20% which is just making your life miserable. And ever time.. I mean every time, without exception, when they make a new version release of the program, If I don't update the same day, there is some error somewhere in the program. It takes me some days normally to find it.. But now I have started to understand.. that it just means there is a new program version out..

    If I could chose to shoot a bullet in the head of G.W.Bush and the person responsible for the existence of Java.. I'm not sure.. it's a though call. And that should say enough..

  • beardeddev |

    - I hate C++, It's very complicated, but fast. - I hate C#, It's powerfull & more simply, but wery huge in learn at all. The things it power very buggy like ms at all. Sample of asp .net))) Hate this technology. - I hate php! It's sucks! - I hate python, it is going me mad, I just can't understand it concept. - I hate ruby, because it's slow, even slower than java or python. But rails is oversome!!! Yes DjAngo too))). But rails it's dream in mind. - I hate java, because I haven't learn it. But it's more comfotable for me. Except accompanying technologies, it's to many!

  • Eric |

    Yeah. Java sucks. About the only thing it does well is cripple computers. I work for a structural and electrical engineering firm as an IT admin and desktop support. I cant even begin to tell you how many tickets we get each day about "My computer is slow!" 9 times out of ten, its a java issue. We have powerhouse workstations with dual quad core CPU and blinding amounts of ram... open up IE to research a part number, and "ssvagent.exe" will crush your "exploring" experience for 5 minutes before getting to your home page. I cant even begin to explain the sloth-like experience when you hit java enabled sites... Java should go the way of Novell... out with a wimper.

    BTW... I was uninstalling Java while reading this blog... its been "gathering information" and using 85% of CPU for about 15 minutes now. LOL.

  • Fooman |

    Java may be the bees knees for programmers but the end user experience is absolute crap. All that cross platform BS is simply that: BS. Not only is it not really cross platform, they have some serious versioning issues on the same platform. How is your grandma going to get her banking done if she needs because completely breaks the program? WTF is this? She doesn't know anything about versions, she only knows about getting banking done! My companies payroll software is java based. It works on about half of the HR staff workstations and only if the browser has 50 settings changed in it AND you have the very specific version of Java installed. If you upgrade (which you are constantly nagged to do) it breaks the whole thing. This is simply unacceptable. Java needs to die. It was a good try Sun, but let someone else do something that actually works now.

  • Nicholas Mead |
    Nicholas Mead

    Thanks for all the insights so far. Seems I struck a chord with this one. Very interesting to hear the problems those in IT Admin roles have with Java. Makes you wonder how the hell it has lasted so long!

  • dido |

    just like you, I hate java, It seem boring and I feel java applications slow on my computer. DotNet , QT , wxWidgets ,GTK+ are more faster and look native and efficient.

  • Zadok Regex |
    Zadok Regex

    I think that having a VM to interpret proprietary byte-code as a method of achieving platform independence is inefficient.

  • Pepe |

    I like Java in general. Any language can be as good or as bad depending on how well or bad you use them.

    There is no perfect language anyway. What I like about Java is the API. All the official documentation, tutorials and forums are in the same place. You can start from 0 and just by speaking English you can start developing in Java.

    But again, there is no perfect language. Java can have their strengths and weakness as any other language.

    Applets are quite an old way to build web applications in java. There are things such as JSP and Java FX that works better, as far as I know.

    Nothing is 100% portable, especially when it comes to applications. You can have a "C:\" and work fine in Windows but won't work in Mac or Linux. And that's not a problem from the VM; it's a developer’s problem.

    As user, one of the reasons Java is quite slow and why they are "favorite" is because they have a determined memory section on where they can work. It's no surprise at how many of the first virus were developed in C. Java is designed to be safe, to be as "virus free" as possible.

    Of course, a badly intended program may suck your resources and delete files. Still, it's possible to stop it and give restrictions to them easily.

    Maybe VM to interpret proprietary byte-code as a method of achieving platform independence is inefficient, but what other method may be used to achieve this?

  • Emre |

    What about the server side? While no one can even run a single java applet on a computer which has quantipilion cores and zibillion bytes of ram .. You write a code to produce some html file and hope that there were tens of thousands of people to browse and take reports from it.

  • G.H |

    @Nicholas Mead - "The fact is, there is a definite difference in the way Java, especially JavaScript, works between browsers. For instance, I have first hand experience of JavaScript and Java Applets working fine in Firefox 2 Portable but not in Firefox 3."

    How on earth are you dragging JavaScript into this? Don't tell me you believe that Java and JavaScript are in any way related apart from the name and some conventions; because if that is so, you frankly have no clue what you are talking about. If JavaScript code behaves differently on various browsers, blame the people who made the API for that browser.

  • Nicholas Mead |
    Nicholas Mead

    @GH. Fair point - I shouldn't have dragged Javascript into this in one of my earlier comments. But believe me, I know what I´m talking about when it comes to user problems with Java - I've seen it all on both Mac and Windows which is why I finally had to write a post about it.

  • dave |

    I hate java. It cause errors all the time - it's logic depends more rain season than human. I never saw java app working without errors - it happens all the time. It's ugly, it's slow. The bigest nonsense I've heard is that java is platform independend. It is if you have os environment. You can say same about Visual Basic - you can run it in Unix. I hate java!

  • antred |

    Java, a language that claims to be superior to C++ but doesn't even support RAII .... ROFL, nice try, NEXT!

  • Neel |

    I've never had any problems with Java, but that's might be because I use it scarcely. For some things, like in order to make a nice looking file uploader, Java is the best choice for me.

    If you write good code in Java, it's not ugly at all. But at the same time, I agree that it doesn't always look consistent on different platforms.

    By the way, Java isn't a country - you said yourself, it's an island in Indonesia.

  • Erik |

    Java web apps are always slow as dirt. That it's supposedly as fast as most pre-compiled languages now doesn't say good things about Java. It says really bad things about Java devs and maybe some really bad things about the core fundamentals of the syntax itself. I'm primarily a front end web dev (yes JavaScript) but I'm not afraid to mess around in other languages including c++ and hopefully assembly when I get around to it. Professionally I've dealt with Rails, Python/Django, all kinds of PHP, and .NET on the back end. Withou webforms, .Net is tolerable. Java, Java platforms, and Java devs have without fail been an inflexible PITA in my experience.

  • anonxxx |

    Java itself is useless (the core). The environnement is totally crap. Way too much complicated. You can take the monstruous swing for deskapp, the undertaker hibernate, or even better a holly fuckin awesome framework that handle any case even those you couldnot think of such as roo or whatever.

    The worst my be for webapp (web services). It is a pain in the ass to wait a minute to figure out that the randomClassListenerExceptionHandler has ...thrown an nullPointerException when you simply wanted to use an object in a template.

    The annotations. I love how they are used. Compilation time. Deploying time. All is slow.

    It kinda make me laugh when some java dev explain tdds or agile methods. Yeah, it's better to have a good methodology, because just compiling in java freaks me out. I could get white haired before I can relaunch the app.

    Let's do not the multiplatform argument. Great joke.

    At least, there is some effort for unit testing. Because when you are not testing, you could easily be flooded far more by the stacktrace than an anonxxx.

    But well, I like the philosophy behind it. Think big machines, think big project, think massively configuration. The more xml, the better.

    Ok, end of my trooll :)

  • dura |

    I hate java, so many subjects are involved . like JSP,Servlets,struts,spring,ejb,ajax,dojo,jms,jpa,hibernate,ruby on rails,JSF,so many serivers . I am sick and tired of learning all this . in each project , technologies changes and we need to read like children every day . God why I came to this field. please help me to go for some other field.

  • peter |

    Oh man, code Java for life is really painful. The frameworks are a terrible unfixable mess, and you have to deal with many of them. Even worst: they change specs every day. Oh and it's slow. Really, unbelievably slow and inefficient.

    I hate Java with all my forces.

  • Nick Mead |
    Nick Mead

    It's evident from the continued comments on this post that even three years after it was written, people still hate Java with a passion. Let's hope that someone has forwarded it to Sun Microsystems by now.

  • austin |

    you're right Java needs to make something thats worth using and not something that just crashes all the time

  • Josh |

    I dont like the Windows Java client because its so bloated. Reminds me of Adobe. ie bigger than it should be

  • vishnu |

    java sucks !

  • Oracle Owner |
    Oracle Owner

    Java is now officially owned by Oracle. So if you have any complaints, complain to them. They can now take the blame for Java being sooooo ridiculously slow...

  • JavaIsCrud |

    Java is like C#'s senile grandfather. "Back in MY day we wrote FOR LOOPS and WE LIKED IT!"

  • ihatejava |

    our company standardized in java years ago and im in tears :(. i know its slow even before using it because it runs in a vm.

    and wtf, i its so verbose that i have to type so many things to get a simple task done .

Your avatar