By now, most Java programmers have heard of Eclipse, the extensible open source development platform that is rapidly becoming the most popular IDE for Java programming. If you are considering a move to Eclipse and are currently programming with Netbeans, this article is for you.
I use Eclipse at work and Netbeans at home and I like and hate both for different reasons.
Overall Eclipse is better unless you really need the web tools or Swing UI builder. In that area NB is the only chice. To prove NB is not as good, see the 4.0 beta and see those new features inspired on Eclipse.
I dont’ want to talk about IBM WS Studio, as we are discussing the free ones (but IBM WS S is by far the best IDE I have ever seen. Period.)
I use Eclipse for everything that is not a GUI. I use Netbeans (4.0beta) to build all my GUI stuff.
That is how it breaks down for me.
The only thing about Eclipse that I dont’ like is that the JSP support is crap. And the Lomboz plugins is really, _really_ slow. I might start to use Netbeans for JSP/Struts/JSF stuff.
Anyone have any thoughts on using those tools in Netbeans or Eclipse?
The big problem with C# is that it is not free and that it is not yet much use for cross-platform programming (Mono notwithstanding). C# does, however, have a wonderful IDE. You start Visual Studio, you add components to a form, you start writing code. It is intuitive. It is the best in the business.
The big problem with Java, apart from its verbosity, is its IDE’s. Borland’s JBuilder is quite popular, but is not the subject of this article.
Netbeans is free and behaves pretty much as an IDE should, although working with Forms is not as easy as it should be. Test a form and it opens 0 pixels wide by 0 pixels high. It is not clear how to change this behavior. Netbeans automatically generates code that you are not allowed to edit, even if you need to. This seems bad until you start to think of Eclipse.
Eclipse is free and comes freely equipped with things called paradigms, perspectives and workbenches. Together they seem designed to make it impossible to use. No longer is it necessary just to learn a new programming language, you have to take a course in how to use the IDE as well. Intuitive it is not. When coupled with difficult Java, it makes C# and Visual Studio look like money very well spent.
Let’s hope Mono is a success.
You like Studio? Wow, for me I think it is very slow (even under a dual-opteron) and prone to crash. The plugin-editors (struts, ejb, etc) flake out at times, preventing a save. The jsp editor is horrible. The only “nice” part is the “integration” of WAS, but even that is not perfect, as it does not fully act and is not set up like a stand-alone installation. But, like you said, this is a free version comparison. I was just surprised by that comment, as I find myself yelling at Studio daily ๐
Please note, however, that all of my views on eclipse are based through Studio, which, is Eclipse 2 + 100 plugins. However, I have installed Eclipse 3 on my Mac, and, though it is nice, without the ability to do J2EE work out of the box, it is completely unusable to me.
Some people like the “perspectives” of Eclipse. Personally, I find they get in the way at times, as certain functionality is only available through certain perspectives, and, at times, it takes a long time to switch between different perspectives (maybe only a studio issue due to so many plugins).
I have played around with NetBeans in the past, but, I’m lucky enough to have had my company purchase IntelliJ IDEA for me, and now, I am spoiled. So, Netbeans did not last long on my machine. If only IDEA could write out IBM’s deployment descriptors, I could get rid of Studio as well ๐ But, alas, that is not likely to happen, as, who would ever want to write out those ugly “xml” files.
This article is a complete joke. It’s called:
“Migrating to Eclipse”… but then
“A Developers Guide to Evaluating Eclipse vs. Netbeans”
Hmmm… which is it? Well it turned out to be an ad for Eclipse, not an evaluation guide. 100% of the examples and screenshots are from Eclipse.
It’s so biased it’s not even funny. Take this paragraph for example:
“Many programmers prefer Eclipse because of its ease of use; the overall design of Eclipse keep the tools you need immediately at your fingertips. Many programmers also find Eclipse faster and more stable. Because these attributes are hard to quantify, though, you really need to try it out and judge for yourself whether Eclipse makes Java programming faster and easier for you.”
It’s not followed with why people prefer Netbeans! In fact, I’d even argue that you could take the same paragraph and replace “Eclipse” with “Netbeans” and it would be just as meaningful.
Where’s the direct comparison between the two IDE’s? Like, here’s how X is done in Netbeans. Here’s how you would do the same in Eclipse. If people want to migrate, they are most concerned with losing features or not knowing how to do the equivalent.
At the end it says that Netbeans doesn’t have strong support for CVS… whoa… obviously he doesn’t know what he’s talking about. Netbeans has had strong support for CVS for a loooong time. In fact, it offers two built in clients (all java cvs or vcsgeneric CVS). All commands are available in multiple contexts and it’s about as transparent as can be.
I won’t continue to pick apart the article but I’ll close with this… the resources at the bottom of the page are all for Eclipse save one… a link to the netbeans site. The author has written another article on Eclipse. The article is hosted by developerworks which is hosted by IBM.
And for the record, I use both Eclipse and Netbeans. As another poster said, I like both for different reasons.
What? I learned how to use Eclipse in an evening and I’m only a part-time programmer?! It’s a beatuiful IDE to work on … the best I have have used.
Don’t hijack this thread please… read the article and talk about the article and bring in additional comments. Why do we have to have another Netbeans vs. Eclipse free for all that degenerates into “forget both, IDEA rules.”
The big problem with C# is that it is not free and that it is not yet much use for cross-platform programming (Mono notwithstanding). C# does, however, have a wonderful IDE. You start Visual Studio, you add components to a form, you start writing code.
On a Windows machine download the .NET SDK (free), download Borland C# Builder (free) or SharpDevelop (free), download Microsoft MSDE, Oracle, MySQL (all free, Oracle is for development purposes); so you have your language, IDE and Database for free. As for cross-platform, mono is coming along pretty well, monodevelop is a decent IDE at the moment, but everything is still better on Windows and probably always will be when it comes to .NET.
Sorry to digress, I realise this is a Java thread. Eclipse is a great tool. I received a CD in the mail from Oracle with Oracle JDeveloper 10g on it, been using that for any time I do Java development at home, otherwise at work I use Eclipse. Been a while since I tried NetBeans although 4.0 looks nice.
it might be a good article (i’ve read about 30%), but it definately isn’t a comparision of the features.
i don’t like such ‘honeypots’, sorry.
From the arcticle:
“Eclipse is organized around the concept of a perspective that makes it easier to get the job done, because the appropriate tools (and only the appropriate tools) are close at hand”
And the ones you may want to use occasionaly cannot be found easily, what do I gain?
Problem is that I strongly disagree with this, they made the same mistake with Netbeans4.
There is nothing worse than an IDE that thinks it knows better than you!
I am used to editting files then committing them in small groups or even one a time (aith appropriate comments). With NB4 and Eclipse, you have to switch to another view, which may or may not be in the right place (whereas the view you used to edit was right where you wanted it to be)
Then they came up with this supposedly great feature of Sync Everything TM, which is absolute crap (inspired from JBuilder I believe), unless you can easily comment your changes indvidually and easily so.
All of this dumbs down the user, reduces the amount of useful information that can be obtained from cvs changelogs and kinda encourages users to be sloppy when using external tools (like cvs)
But eh! Call it a feature if you want.
Are we showing ads on OSNEWS now? A “comparison” between netbeans and Eclipse on an IBM website?
What’s next an “article” compariing lynux and windows from microsoft.com?
Eclipse is not everyone’s cup of tea, but you can commit single files or groups of files in the CVS view. I almost always sync a whole project then commit each individual file with it’s own comments.
Since you can bring up the file you are about to commit from the CVS view how is this any differ from being in the java or c views? If you really wanted to you could even set it up to do sync from the java view. (Not sure why you would though.)
Again eclipse might not be your thing, but I would hate for you to be unhappy with it for things that can be corrected or are a matter of learning how to do it.
As far as the article is concerned, well I would say it is more propaganda for eclipse than a basis for impartial comparison.
Well that is my point exactly,
I know what to put in the cvs comments box when I can see my code on screen. Yes I can switch to another view and do that, but what is the point?
My view is the code, adding to cvs and other minor tasks should not require that I change my layout.
One of the greatest things about netbeans (and windows, which got borrowed into gnome’s nautilus and konqueror) is the ability to add contextual links, ie: cvs option when you right click on a file. Unzip if it’s a zip file, etc.
Now, we loose that ability, but we’re supposed to use views (different approach). Sounds like the spatial navigation in gnome! I want the choice!
if you’re going to develop for a significant amount of time, then the aesthetics and feel of an IDE becomes significant… for me netbeans has always felt simpler, dedicated and stable. it is easy on the eye, plain, and becauseits not trying to do magic with gui toolkits and fancy plugins.. it just works and works well.
i have been trying to use eclipse milestones from its early days more than 2 years ago and they have either never worked or the Ui just feels untrustworthy!
the fact that you can plug a kettle into eclipse and skin it too … doesn;t actually make me feel like i am in safe hands.
the UI for eclipse, even in basic install, is too crowded and colorful… its too distracting with too many font types, colours and sizes, … to many graphical elements … netbeans is just simpler.. and less taxing on the brain as you use it hour after hour!
t
It wasn’t intended to be a “feature comparison”. It’s an article on migrating from Netbeans to Eclipse. Of course it’s Eclipse-centric!
Given this article, I was wondering if anyone knows of any more balanced comparison? I currently use netbeans for all of my work, but have heard a whole lot about eclipse.
Most of the applications I build are smallish web applications with connections to databases.
Ive gone through most of the IDEs for java at one point or another, if you dont mind spending some money intellij IDEa is by far the best. In fact, it is probably the best IDE ive used for any language. If we are just talking the free ones, my preference is eclipse over netbeans any day. but this is a matter of preference. no official comparison, just thought an intellij plug was warrented. download the free trial, you will either thank me, or curse me, depends how tight your budget is ๐
eclipse is a plain pain in the ass. i downloaded everything from their site, and besides the 0 documentation, the learning curve is as steep as you can imagine (and more). not only did i waste a whole weekend configuring everything, but then had to learn how to include the PHP support.
really, go for netbeans for RAD, and then use any good editor (I use VIm on a daily basis) to edit the produced code.
Interesting jEdit missed out in this comparison …
Eclipse 3.0 just came out and they have caught NetBeans mid-stride. They compare it to Nebeans 3.6 and that feels opurtunistic. This way they can compare Eclipse to a practically outdated version of Netbeans, but if they went with 4.0-beta than they would complain about the bugs. Theys should ahve waited wtill Netbeans 4.0 went final.
Oh and I’m a long time NetBeans fan and could never understand the fuss about Exclipse. And I hear it uses SWT which bothers me… it’s not in the standard, don’t use it. Simple as that IMHO. But then again I’m bothered by the fact that Linux uses GNU-C extensions and eschews POSIX standards when it considers it convienient.
Anyway, every Java programmer owes it to themselves to try NetBeans– if only to decide that they hate it and will never use it again. Though I wish the would make the 4.0 iconset a little less fruity, particularily on the main tool bar. The “new file” and “new project” icons look a little too bling bling for my taste. That and the beta leaks memory like nobody’s buisness: but this is a beta after-all and I’m sure that they’ll have it all sorted out for the final 4.0 release.
But then again I’m bothered by the fact that Linux uses GNU-C extensions and eschews POSIX standards when it considers it convienient.
—-
you will be hard pressed to win over with this argument. every gnu extension is optional. posix is a very basic standard. you cannot rely on it everywhere and its pretty brain dead at times. every unix vendor provides their own extensions on top of the basic thing
you will be hard pressed to win over with this argument. every gnu extension is optional. posix is a very basic standard. you cannot rely on it everywhere and its pretty brain dead at times. every unix vendor provides their own extensions on top of the basic thing
I think what the original author you replied to meant is the extensions to the C99 standard.
The fact is, the GCC3 extensions can be implemented, and are implemented by every tom, dick and harry. Intel and SUN, for example have GCC3 extensions implemented, although not all of them, they’re gradually getting their compilers 100% GCC compatible.
You can edit the Netbeans generated code you justt have to know where to do it at. Netbeans is the best Java IDE for Swing development.
Visual Studio on the other hand is terribly slow (for large projects) and has sub standard code completion. I would suggest using Visaul SlickEdit for anyone not doing UI.
Netbeans ‘Ctrl-k’ and ‘Ctrl-l’ rock!
Eclipse is only faster than Netbeans when you are working with a non-enterprise application. Once you start dealing with large applications, Eclipse and IBM WSAD both perform EXTREMELY poorly. And this is on a P$ with a gig of memory.
The other issue I have with it is that the interface is 100% trash like everything else that comes from IBM. It is not intuitive at all, and on large projects, it can be a pain to setup and use. I especially like when for no reason at all, an error box will pop up that says something like “An error has ocurred”, but does not mention what the error is.
Netbeans, although swing-based, is much more responsive (on modern hardware) and the interface is much more clearly layed out. There is no comparison between the two.
-G
> Eclipse is organized around the concept of a
>perspective that makes it easier to get the job done,
Eclipse is a dense warren of confusion. Functionality
is spread out amongst various menus and menu depths
for seemingly arbitrary reasons.
Go with a simple text editor, unless you’ve got gui apps. everyone’s doing MVC these days anyway, so coupling your application interfaces with data and logic is arcane. Netbeans and eclipse should be used solely by GUI coders. All the libraries and API coding should be done with a simple text editor.
Yeah, that really helps productivity.
Learn to use vim or emacs. Using BIG IDE’s only helps when you don’t know how to use CVS or a debugger,or you are forced to develop on windows (in which case you should install cygwin and then you can use vim or emacs).
Seriously, using a “Powerful” text editor will truely impove your productivity. The fact is that using a mouse does slow you down. Editors like vim or emacs have features like macros, regex’s, registers, marks, piping buffers through shell commands, and extending your editor by writing your own extensions (I know eclipse and jedit are pluggable) and etc.
Like I said, take the time to learn vim or emacs you won’t be dissapointed!
I am a fan of NetBeans simply because it is so much more intuitive and easier to use. The one thing I absolutely dislike is how there is a block of NB generated code that we absolutely cannot modify and I absolutely detest that. One of the authors I believe Jason it was siad that you can modify that block of code and I would like to know how. THanks
I think IDE choices should be a to each his/her own choice. Learning a new IDE interface is always a bit daunting especially if you have worked with a different one for a long time.
I think the minimum common feature you need is an interface to the version control system that you use whether it is an external tool or embedded within the IDE as long as the developer works effectivly on it.
Unless you are one of those companies who are convinced that SEI-CMM level 3 which I think requires a common set of tools implies that you have to standardize all your tools with no variations, you should leave the choice of tools to people who are actually doing the work.
Personally I like Eclipse 3.1 betas, but if someone can work more effectively on NetBeans use it. Heck, it took me a while to find a development environment (Eclipse 2.0) that got me out of using text editors.
If you recommend vi as a replacement for an IDE, you haven’t really used an IDE yet. The point of IDEs is usually not editing code (most good IDEs allow you to use external text editors, for good reasons) but that they make all that stuff easier that is not code-editing. Version control, refactoring or resource editing are tasks that would otherwise require lots of work by hand or carefully crafted scripts that won’t necessarily translate to your next project.
“I am used to editting files then committing them in small groups or even one a time (aith appropriate comments). With NB4 and Eclipse, you have to switch to another view”
You can simply right click a file and select Team/Commit to commit a file to CVS in Eclipse. You can do this directly from the Java perspective. If you have WSAD, you can also do the same in the J2EE perspective.
“Eclipse and IBM WSAD both perform EXTREMELY poorly”
I agree 100% with this comment. Eclipse as a platform really needs to enhance its performance. Commercial products based on it have some serious performance issues. WSAD is one example, and XDE 2003 is another.
Ugh. He wrote two equally disgusting articles:
IntelliJ IDEA
http://www-106.ibm.com/developerworks/library/os-ecidea/
Borland JBuilder
http://www-106.ibm.com/developerworks/library/os-ecjbuild/