Eclipse 3.3 or NetBeans 6.0?

Finally, there's a decision to make!

1 2 3 4 Page 3
Page 3 of 4

Language support

Eclipse and NetBeans have increasingly positioned themselves for use in a broader range of development domains by providing support for other programming language. For example, both IDEs provide good basic support for C and C++.

Eclipse officially supports C/C++, COBOL, PHP, and AspectJ. Its dynamic language toolkit project unofficially supports Ruby.

NetBeans supports C/C++ and two versions of Ruby: regular Ruby and JRuby, which runs on the JVM rather than the Ruby VM. The Ruby support is tip top. It has excellent editing features, plus debuggers for both Ruby variants as well as for Rails. In addition, Ruby Gems works right out of the box. These features make NetBeans the best IDE currently available for Ruby development.

Enterprise tools

Enterprise tools include functions normally used by larger businesses. These include modeling and reporting. The delivery mechanism for these tools highlights the difference in approach between the two IDEs. NetBeans tends to bundle, while Eclipse tends to make "platforms" available.

For example, when it comes to UML modeling, NetBeans has a built-in modeling tool that supports UML (including use case, class, collaboration, sequence, and activity diagrams). Code can be abstracted into a UML diagram, and UMLs converted to code. Eclipse, by comparison, offers the Enterprise Modeling Framework (EMF), which is a platform for building tools, and the graphical editor framework (GEF). If you install both of these packages, then configure them, you'll be ready to start modeling your enterprise architecture in UML. You'll have more features than you would in NetBeans, but you'll work harder to get them installed, configured, and running.

Profiling support is about the same. NetBeans has two profilers (timings and memory usage) built directly into NetBeans. At any point, you can click on the profilers and see how your program is doing. In Eclipse, you need to download the Test and Performance Tools Platform (TPTP), and from there, configure your tools and run. The end result gives you equivalent capabilities to what you would get out of the box using NetBeans.

The pattern described here carries throughout the IDE experience: NetBeans tends to bundle important plugins so that you can run them right away; while Eclipse makes platforms available, which then have to be downloaded, installed, and configured. In essence, NetBeans is the Mac to Eclipse's PC: that is, with NetBeans, everything just works out of the box, whereas with Eclipse you have to do more setting up and configuration. The trade-off is the greater range of options available in Eclipse.

Eclipse has no competition from NetBeans when it comes to reporting. Eclipse's Business Intelligence and Reporting Tools (BIRT) is an extensive system for formatting and generating reports and other documents that can be embedded in enterprise applications.


Eclipse dominates in all aspects of plugins. This leadership position derives from two smart decisions its caretakers made several years ago: The first was to port the Eclipse underpinnings to the OSGi framework (formerly Open Services Gateway Initiative), which is designed to make writing new plugins particularly easy. Second was IBM's decision to spin off Eclipse, making it easier for the IDE to attract partners. Both moves succeeded brilliantly and Eclipse now enjoys a commanding lead in both open source and commercial plugins.

Nearly all new commercial plugins that ship for Java (such as recent Java products from Agitar and Enerjy) ship for Eclipse first. Actually, most of them ship for Eclipse only. A few are ported to NetBeans, but not many. So if you must have specific plugins, such as Mylyn (formerly Mylar), then Eclipse is your permanent home.

The profusion of Eclipse plugins is not a completely unalloyed benefit, however. Many plugins piggyback on other plugins and require specific releases of those subordinate components. This tree of dependencies can lead to a maddening process of loading, unloading, and configuration. For some users, it tends to make environmental updates a thing of dread. No less than Martin Fowler spent an entire day installing a single plugin due to this problem.

1 2 3 4 Page 3
Page 3 of 4