- Publisher
- Nick Mead |
- Date
- August 14, 2008
And 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!
Commented
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.
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.
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 :)
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.
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.
you're right Java needs to make something thats worth using and not something that just crashes all the time
I dont like the Windows Java client because its so bloated. Reminds me of Adobe. ie bigger than it should be
java sucks !