27 März 2010

NetBeans vs. Eclipse (Again)

Because of some driver problems I had to reinstall Windows 7 on my notebook (Yes, I use Windows!). This took a while and then I was ready to install my IDEs. I use Eclipse an NetBeans in parallel, depending on what the customer uses.

Again I recognized an extreme difference in the installation procedure. Here the steps I had to do:

  1. Download IDE and, hey surprise, GlassFish is bundled as well!
  2. Install it
  3. Run NetBeans
  4. Check out project from SVN. NetBeans asks me to download/install SVN. After a click and a restart NetBeans is ready to use.
  5. Start developing using Maven2, Java EE 6 and GlassFish
  1. Download Eclipse
  2. Download GlassFish
  3. Run Eclipse
  4. Decide if I want to use Subversive or Subclipse. I prefer Subclipse.
  5. Install Subclipse
  6. Install m2eclipse
  7. Install GlassFish integration
  8. Restart IDE
  9. Checkout project from SVN
  10. Start developing using Maven2, Java EE 6 and GlassFish
As you can see, NetBeans brings all you need and it's very easy to install and use. Where as Eclipse doesn't contain any plugins that are used these days in the industry (Maven2, Subversion, etc.)

To do a quick start I recommend NetBeans. And if you want to use Eclipse make a backup after you have installed all the plugins!


Chandru hat gesagt…

Could you also post the steps needed to turn a hard-coded constant into a parameters in a method which is invoked at 50 places?

Simon Martinelli hat gesagt…

Yes, I see. Eclipse does the refactoring in one step where as NetBeans only exchanges the current constant.
Strang is if you refactor the hard-coded contant (i.e "Hello") into a class constant HELLO NetBeans exchanges it in all occurrences.

Haven't tried it with NetBeans 6.9.

Chandru hat gesagt…

Also if you decide to just add a paramter to your method Netbeans doesn't give auto-complete for the parameter type.

In general Netbeans is much weaker than Eclipse at most refactorings. While setting up plugins is a one-time effort on Eclipse the lack of decent refactoring (IDEA does it better than even Eclipse) comes to bite you several times daily on Netbeans. :(

Simon Martinelli hat gesagt…

For sure, you are right! I just addressed installation in my post. But usage is important (or maybe more important)

But it's just a matter of time until NetBeans has the same features.

Neil Bartlett hat gesagt…

Interesting that your NetBeans step 4 comprises at least 3 sub-steps, whereas you break those out into discrete steps for Eclipse ;-)

Of course, Eclipse is still more steps in total, I don't dispute that. It's a problem of too many choices. On the other hand there is nothing to stop someone from taking the bits you need and offering them together as a distribution -- this model works well for Linux after all.

Also as Chandru points out, although the installation can be more painful, once that is finished Eclipse is just a better and more productive IDE for day-to-day usage.

rtfgvb7829 hat gesagt…

IS VERY GOOD..............................

pthreads hat gesagt…

Hi Simon,

It will be good if you can add the "Google connect" widget to your sidebar for us.

madhu hat gesagt…

I dont think run eclipse and restart IDE should be taken as a step at all.And moreover you must look at the complexity of each step rather than no of steps.Eclipse is very easy to use and also import external libraries and .jar files.Netbeans is also good but i think eclipse is way better regarding user interface and simplicity

Ramses Paiva hat gesagt…

In my point of view, these are the steps I see:

1. Download;
2. Install;
3. Run NetBeans;
4. Check out project from SVN;
5. Download and install SVN client plugin;
6. Restart NetBeans;
7. Start developing using Maven2, Java EE 6 and GlassFish.

1. Download Eclipse;
2. Download GlassFish;
3. Run Eclipse;
4. Install Subclipse (or Subversive, you choose);
5. Install m2eclipse;
6. Install GlassFish integration;
7. Restart IDE;
8. Checkout project from SVN;
9. Start developing using Maven2, Java EE 6 and GlassFish.

Eclipse takes two more steps comparing to NetBeans. Why?

If we think a bit, Eclipse is a more generic IDE, which supports a bunch of different technologies, for different purposes.

For example, if I address my application to run on WebLogic, JBoss or Apache Tomcat containers, GlassFish would be useless for me and I would rather not install it on my machine.

Mentioning that an IDE comes with this, or an IDE comes with that, is pointless.

Both IDEs support a lot of quite useful plugins, but as of now Eclipse is still a step forward comparing to NetBeans, considering plugins development activity and communities of both.

Not only that, but Eclipse, thanks to the great Mylyn plugin, is a powerful IDE when working in teams. Managing tasks, scheduling, task contexts and tracking issues make Eclipse the first choice in corporate development teams.

I won't mention code refactoring, as it was already mentioned by previous comments. Just have to say I agree Eclipse is still a better choice in this case too.

I would say that Eclipse can be used for everything, anytime, while NetBeans is still too limited.


Ziga H hat gesagt…

I think with NetBEans 6.9 (and in 6.8 as well) are catthign up to speed. I do admitt that pulling members in a new class (extraction) and replacing them with getters and setters is available only in eclipse.

In mose cases it seems that Netbeans is better, but fomr some specific tasks eclipse must be used... why would one want to limit himself with just one tool?