eclipse indigo logo VS netbeans 7.0.1 logo

Intro

In this post I will compare the two popular IDEs Eclipse and Netbeans and share with you which one works best for me and why that is. I will be using the Versions Indigo and 7.0.1.

All in all, they are quite similar. They both make programming easier by providing auto-complete and auto-insert code options, easy overview over program structure, nice refactoring options, debugging, and so forth.

I will not discuss the benefit of IDEs in general, although I am definitely on the pro side (even though command line editors like vim rank way higher on the cool’o’meter).

Auto-Complete / Auto-Generate

In my opinion, this is one of the more important aspects of an IDE.
eclipse auto sort

automatically sorted imports. yay eclipse ;)

Here Eclipse scores for its function to automatically add the imports you need. This saves one from the work of importing it manually or clicking god knows how often on add import xy. but it also can be a bit of a pain. Sometimes auto-import does not work, but auto remove of imports always does. So if you comment out parts of the code for a short while, you will always have to add the imports again. Eclipse also auto-sorts the imports which is quite nice.

netbeans auto complete

netbeans auto complete

Both IDEs can auto-complete, but Netbeans does a better job at doing so. It has more options and guesses right more often than Eclipse does. Of course the templates are customizable, but it would be nice if it worked out of the box as well in Eclipse as it does in Netbeans. Also, Netbeans offers “assign return value to variable” option which spares one from always checking the exact signature of a method and some typing.

User-friendliness

This part is highly subjective but important non the less. I think the ui of Netbeans looks nicer and is easier to use. A small and not too important example: Open project in the task bar is easy to find and makes sense. Guessing to have to click on File -> Import -> General -> Existing Projects into workspace is not. Another example: Having to press Help to find the “Install new Software” option, really? That is not very intuitive.

Also while both IDEs can auto-generate getter/setter/etc I use it in Netbeans far more often as it is easier to reach. In Eclipse I often decide to write that one setter or constructor or whatever myself instead of clicking through the menu.
These are only three small example, but it goes on like this and it is annoying. I want to write code, not search in menus and Google.
Also, even when searching on the web, the results I get are links to eclipse.org, which either are outdated or not very helpful.

Performance

Not much to say, the point clearly goes to Eclipse. It starts faster, it reacts faster and it takes up way less memory.

Netbeans vs Eclipse: Individual Pros and Cons

Eclipse
pro eclipse ide flexible / many plugins
pro eclipse ide many plugins only for eclipse, no (good) alternative for Netbeans (Google android, etc)
pro eclipse ide auto-import when needed and auto-import-sort
contra eclipse ide a lot of bugs (“a lot” is relative, but definitely too many for my taste and more than (I experienced in) Netbeans)
contra eclipse ide bad documentation (website is badly out of date, lots of 404)
Netbeans
pro netbeans ide even easier to use than eclipse
pro netbeans ide just works
pro netbeans ide user-friendly ui
pro netbeans ide great auto-complete
contra netbeans ide heavy (long startup time, even compared to eclipse; lots of memory usage)

Screenshots

eclipse screenshot netbeans screenshot

Eclipse vs Netbeans: Conclusion

I use Netbeans if I have the choice. If I do not have a choice – e.g. when developing an Android app or working in a team where eclipse is used -, I do use Eclipse and hope that everything works (otherwise I prepare to waste hours searching the web, clicking through menus, and banging my head on the desk).

You should try both IDEs and primarily use the one you are more comfortable with. But if that IDE does not offer what you need to do the current task do not hesitate to switch to a different one. The IDE is just a tool, if it does not do what you want it to do, you should be able to switch to a different one.