Eclipse is painful to use, just switching to using IntelliJ Idea IDE I have felt a lot more productive. I still have to use both since my company's "official" IDE is Eclipse and if I'm working on a problem where another developer might be looking at something with me I have to use it or they'll get really uncomfortable. The auto-completion in IntelliJ and better responsiveness of the UI make it a much better expiernece IMO. I really think one of the main problems with Java IS Eclipse, if more Java dev's used a better IDE I can't help but wonder if things like this wouldn't be thought of as being as necessary
* There are memorable keyboard shortcuts for everything.
* It can generate comparatively more code for you.
* It's faster, though I fear it's working on losing this advantage.
* The autocomplete is smarter, and has a few different options.
I started using IntelliJ a few years ago, when I came onto a Java project after several years using vim and Python, and I'm convinced it made the transition a lot less painful.
The difference between IntelliJ and Eclipse may be smaller than it feels to me now--IntelliJ is what I'm used to, after all, so using Eclipse involves adjusting to a subtly different interface--but I'd still say it's worth a try. There's a free version, so there's not really anything to lose.
Eclipse crashes on me or freezes up frequently despite using a quad-core brand-new laptop with 8gb memory. The UI frequently becomes unresponsive. Anything to do with IO such as opening files, having maven pull in a bunch of files, etc is horribly slow and usually causes the app to freeze.
As far as I know it doesn't offer variable suggestion, in IntelliJ you just type the first letter or 2 and it immediately suggests any variables you have in scope, I find this invaluable as it really speeds up writing code sometimes. Overall, I find it simpler whereas Eclipse is just kind of a free-for all where you need to make use of a patchwork of plugins to be successful. IntelliJ is written by one company so I just always get the feeling it has a better "engine" underneath it.
Half the developers on my team curse Eclipse and say they hate it but none have switched to using another IDE except me, the others are too set in their ways, I get the feeling its firmly embedded amongst a certain generation of Java dev's but if you're just starting out (I'm also pretty young relatively speaking) I'd recommend considering using another IDE.
Eclipse does offer variable suggestion/completion using Ctrl+Space. Works for class names, variables, method names etc. Camel Case search is another nice feature. I personally use SpringSource STS (especially for the Groovy support). And btw, IDEA freezes up as much as Eclipse does. It's more of a problem with desktop Java applications, than with a specific IDE.
I've never had IDEA freeze on me. Eclipse may offer those (I wasn't aware of it) but you would have to tinker around to configure it, I really prefer simplicity to a mountain of configuration to get it working the way I want. Eclipse is more of a platform, its great for some things since companies have built plugins for all sorts of things (like the Drools visual editor, for example), its fine for this sort of thing but as a regular code editor I find I prefer to use something that is more simplified and limited, not something that is essentially trying to be a platform.