Over the years I have used NetBeans and Eclipse a lot. NetBeans could be beaten for J2ME and was fairly decent for Java web applications. Never really used it for non-web stuff, but it seems reasonable. Eclipse is a complex beast - it's the Emacs of Java (I've jokingly called it Egacs after its tendency to consume all available memory) and is incredibly modular. With that modularity comes complexity and some brittleness. I've used Emacs mostly for Java web application development, but used PyDev for a while. I also used the Eric IDE for Python, but now I write mostly Python and I just use Emacs as my text editor, ipdb (or pdb, when ipdb is not an option - looking at you, Google App Engine) and a couple terminals.