Only for language models

Java is Crap

By Sean E. Russell on on Permalink.

I've come to the conclusion that Java sucks, as do Java developers.

Yeah, I know. I'm a Java developer, too. But, seriously, as clever as they may be (and there are a lot of Java developers who are smarter than I am), they can't write applications for shit.

Two cases in point: Eclipse, and Netbeans. Both applications suck big old donkey ears.

For one, neither will run with a real-life size project unless you turn over at least a gig of RAM to them. A gig. This is the very definition of "bloated piece of crap." For any real work, on a project of any size, I need to allocate two gigs to either of them to get them to be reasonably responsive.

Eclipse gets very confused, in a number of different ways. I've yet to be able to run Eclipse for over an hour without seeing Exceptions spewed into the Eclipse logs. Usually, this doesn't stop Eclipse from functioning, but WTF? And Eclipse often loses track of the state of the project, deciding that it can't find classes or libraries, and so files are full of errors (which is wrong), and the only solution is to restart Eclipse. Often when I start Eclipse, I have to wait for around 5 minutes (I'm not exaggerating) for it to start up.

Netbeans... well, that's a seriously screwed-up program. It's just poorly programmed. For example, at random, it'll start doing something in the background that'll cause it to consume 100% of the CPU. It doesn't tell you what it is doing; it's just off doing it. In the meantime, the GUI is utterly unresponsive, because the idiots who wrote it didn't think to use thread priorities to lower the priority of whatever thread is off indexing, or collating, or whatever the hell it is doing.

Most recently, and the reason why I bounced back to Eclipse for the time being, Netbeans has started exhibiting behavior where it seems to be playing nice -- yes, it is cosuming 1.2 gigs of memory with no files open, but at least it isn't hogging the CPU. But then I go to open a menu -- any menu -- and it starts sucking up the CPU. Yes, opening a menu in Netbeans causes it to consume 100% of the CPU for a couple of minutes. Going to a different menu does the same thing. No, this isn't a swap issue; I have plenty of free memory and the hard drive isn't spinning while this is going on.

I think there are several things going on here.

  1. Java is a bloated sack of crap. Well, we all know this anyway, don't we? Write a "Hello World" app that pauses for input, and execute it. How long did it take to print the message? Now check your process memory. How much memory is being consumed? Now, write the same thing in Erlang, or Ruby, or Python, or any other language requiring a VM, and compare the results.
  2. OO programming isn't helping.