Related
A java app I have been writing for the last few years has now become quite bloated and I am conscious of including unused code etc…
I know for css and javascript you perform code cleanups and compact the code etc.. does anything like this exist for java?
For some reason developers always dismiss the importance of the java garbage collector.
This should help: http://www.devdaily.com/java/edu/pj/pj010008
Linda
The fact that you are quoting css as an example for an language that enables code cleanup, tells me that you are probably new to java.
Java has one of the Richest set of tools for performing code cleanup (or general re-factoring). There are two ways to perform code cleanups. One is to use Static code analyzer and other way is to have an instrumentation support to monitor your running programs.
There are many static code analyzer in the market and the some of the best ones are open source. If you are a serious Java developer then you cannot get a better IDE than Intellij ( no, I do not get paid by them..). They have one of the best code analyzer tools integrated with an IDE. This link should help you.
You do not have to use Intellij to get the same kind of code Analysis. You can use PMD and FindBugs plugins for any leading IDE. Among all the code analyzers, I believe these two are the best to dig out deep problems in the code and not just superficial mistakes. ( like formatting Issue).
These tools will help you clean up dead codes, find probably bugs and unclosed objects. You should also customize the tools based on your requirements, but that comes later.
Once you have identified and fixed all the problems identified by your static analyzer, then you need to monitor your program for potential problems like Memory Leak. Some problems are only found during runtime.Java had an inbuild instrumentation mechanism called JMX and almost all major Server Vendors have exposed it. You could also use Jconsole, that could act as an abstraction layer over JMX.
Have you considered using any code coverage tools to determine exactly what portions of your code are getting executed? Take a look at EMMA:
http://emma.sourceforge.net/
Optimizing and cleaning up are two separate issues. You can start on both using Eclipse.
Take a look at these sections of your Eclipse configuration:
Window > Preferences > Java > Code Style > Clean up / Code Templates / Formatter
And:
Window > preferences > Java > Compiler > Errors/Warnings
You'll find a lot of handy features for flagging and even automatically fixing things that are commonly considered to be bad code.
For performance optimization, you might try the Eclipse Test & Performance Tools Platform Project.
I'm about to join a new (Java) development team and a thought came to mind - do they use Eclipse?
I have been working with Eclipse for the past 6 years and don't see myself switching to another IDE if the team is using that IDE (e.g. IntelliJ).
Is it a problem to use different IDEs in the same development team?
Yes. It's a problem.
As a 3-decade contractor -- having been to a new client (on average) every 6 months -- I have some advice.
Get over it.
Seriously. Whatever they're using is fine, really. Use it. Learn it.
Why?
A) You'll know more IDE's, be more valuable, and more skilled.
B) You can share knowledge more easily.
C) The point is not the tools. The point is the product.
It's not a problem technically. It's more a factor of time and using the same tools as your development team. You'll have to create a different set of configuration artifacts (like .project and .classpath) to check in and maintain. It could range from easy to hard, depending on how their project(s) are setup. You should also consider that it'll be harder to get support and give support inside your team.
I work at a company where we recommend using IntelliJ, but some people use Eclipse. It's not really a big issue to be honest. It depends on how the company structures the code.
Just as a sidenote: I used to use eclipse, but since I started using IntelliJ, I'm never going back. It's just so much nicer to work with. Once you get the hang of all the shortcuts, I can honestly say that intellij is better for me in terms of productivity. YYou can get used to it within a month.
Is it a problem to use different IDEs in the same development team?
It depends on the team, but the answer is often yes.
If the team norm is to use Eclipse and you insist on using IntelliJ, you could get a reputation for being "difficult" ... especially if the team culture is not to innovate.
You are likely to cop the blame if this causes issues / inconsistencies; e.g. it results in code style issues, different compilation warnings. Indeed, you may cop the blame for problems that are not caused by Eclipse versus IntelliJ issues ... when someone else says that they are. (Not fair, but life is like that.)
On certain projects there can be issues with availability of plugins, and so on. By using Intellij, you could have problems right now, or you could restrict the ability of the project as a whole to use new tools. (I'm thinking of things like Eclipse EMF, ESC2Java and so on.)
I want to use emacs for java coding, but I'm confused on what mode to use for java coding. There's jdee, which seems ide-like; malabar, who is said to be more well versed in java 1.5 constructs than jdee; and emacs-eclim, which is an eclipse backend for emacs. There are also a wealth of completion extensions for emacs, and I'm also confused on which one to use. In fact, I'm so confused that I deferred using any of them until I get recommendations.
What is the current best option for java-mode + completion in emacs? And, if ever I decide to use a combination of what I mentioned above, will conflicts happen?
For those used to the power of Emacs text manipulation then Eclipse can seem like pedaling a bicycle with one foot. The Emacs+ plugin from http://www.mulgasoft.com/ is excellent for getting Emacs key bindings into Eclipse.
I use both Eclipse and Emacs a lot, but if I only did Java development I might use only Eclipse with Emacs+. It takes some work to get many Eclipse features enabled on Emacs.
My advice is to use Emacs >= 23. If you are on a Mac, look at AquaMacs. I use JDEE as the Java plugin. This has the serious drawback of not playing well with generics. It's not that it stops working, it's just that a lot of stuff isn't recognized. Do not use the old 2.3.5 JDEE plugin (that comes with most Linux distributions), but get the 2.4 version from the sourceforge site. Also get the Emacs Code Browser (ECB); this is a plugin that will give you stuff like Eclipse's Project Explorer and Outline views (other developers will look at this and not believe you when tell them that it's Emacs). I've used this setup for commercial projects on Windows, Mac, and Linux in the past year.
In fact, Eclipse plays pretty well with Emacs and I often switch between the two. Eclipse has some nice refactoring tools that I used to use sed for, and it has a good debugger interface. You can use them simultaneously. I find that I use Eclipse when working with other people's code and Emacs when I am writing my own code---Emacs is that much faster. Note that for me, a lot of the value of Emacs is the non-Java functionality, like editing Tomcat configuration files on remote servers from my local Emacs, writing professional documents with LaTeX, developing in Python or Bash or MATLAB or XML, and the odd text manipulation task (e.g., converting CVS files into String[] arrays).
I haven't used the other two projects you mention. It is possible to use the Eclipse compiler with Emacs already, so I'm not sure I see the point of the emacs-eclim project, which seems to be moribund anyway. The Malabar project might be interesting, but seems to be the product of one somewhat cranky developer (e.g., the warning "if you're not using Maven (why?) you should not consider malabar-mode"---I'll tell my clients that?).
Java on Emacs is in a sad state. I wish for JDEE to be revitalized, but it's not clear when or if that will happen. The web site and mailing list offer few clues.
I use emacs-eclim with auto-complete-mode support and java-mode highlighting exclusively for Java programming. 90% of my work is done in emacs, but I switch to eclipse when I need to debug, run unit tests or do major refactorings. All in all, this setup works very well for me.
I haven't tried JDEE for years, but I remember it was a b*tch to set up. I didn't care for the UI very much, as it put up lots of prearranged windows that were locked in place. I like to be able to switch back and forth between editing buffers, often showing just one window, but splitting and rearranging on the fly when it becomes necessary.
Note: I am an emacs-eclim maintainer, and this has probably coloured my judgement.
If you're using Maven, then I'd recommend malabar-mode. It will set everything up for you automagically, no need for editing project files like you'd have to do with JDEE. The downside I've found with malabar, is that it can consume a lot of memory if you've got a lot of multi level module projects open.
Both Malabar and JDEE will give you "true" completion, i.e. only completions that are possible. However, there are two amazing "intelligent guessing completion frameworks" in Emacs. hippie-expand and auto-complete.
The former is great (can complete whole code blocks for you, making it possible to e.g. cycle through all if-tests in your projects), but auto-complete mode is even better. It'll give you a nice intelli sense style menu, will "learn" as you use it, and allows you to define a file with the completions you'd like to be available in the various languages.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
Is Eclipse the best IDE for Java?
If not, is there something better?
I want to know and possibly try it out. Thanks.
Let me just start out by saying that Eclipse is a fantastic IDE for Java and many other languages. Its plugin architecture and its extensibility are hard to rival and the fact that it's free is a huge plus for smaller teams or tight budgets.
A few things that I hate about Eclipse.
The documentation is really lacking. I don't know who writes the stuff, but if it's not just flatly missing, it's incomplete. If it's not incomplete, then it's just flat out wrong. I have wasted many precious hours trying to use a given feature in Eclipse by walking through its documentation only to discover that it was all trash to begin with.
Despite the size of the project, I have found the community to be very lacking and/or confusing enough to be hard to participate in. I have tried several times to get help on a particular subject or plugin only to be sent to 3 or 4 different newsgroups who all point to the other newsgroup or just plain don't respond. This can be very frustrating, as much smaller open source products that I use are really good about answering questions I have. Perhaps it's simply a function of the size of the community.
If you need functionality beyond the bundled functionality of one of their distros (for instance, the Eclipse for Java EE Developers distro which bundles things like the WTP), I have found the installation process for extra plugins excruciatingly painful. I don't know why they can't make that process simpler (or maybe I'm just spoiled on my Mac at home and don't know how bad it really is out in the 'real' world) but if I'm not just unsuccessful, oftentimes it's a process of multiple hours to get a new plugin installed. This was supposedly one of their goals in 3.4 (to make installation of new projects simpler); if they succeeded, I can't tell.
Documentation in the form of books and actual tutorials is sorely lacking. I want a master walkthrough for something as dense and feature-rich as Eclipse; something that says, 'hey, did you know about this feature and how it can really make you more productive?'. As far as I've found, nothing like that exists. If you want to figure out Eclipse, you've got one option, sit down and play with it (literally play with it, not just see a feature and go and read the documentation for it, because that probably doesn't exist or is wrong).
Despite these things, Eclipse really is a great IDE. Its refactoring tooling works tremendously well. The handling of Javadoc works perfectly. All of features we've come to expect of an IDE are their (code completion, templates, integration with various SCMSs, integration with build systems). Its code formatting and cleanup tools are very powerful. I find its build system to work well and intuitively. I think these are the things upon which its reputation is really built.
I don't have enough experience with other IDEs or with other distros of Eclipse (I've seen RAD at work quite a few times; I can't believe anyone would pay what they're charging for that) to comment on them, but I've been quite happy with Eclipse for the most part. One tip I have heard from multiple places is that if you want Eclipse without a lot of the hassle that can come with its straight install, go with a for-pay distro of it. My Eclipse is a highly recommended version that I've seen all over the net that is really very affordable (last I heard, $50 for the distro plus a year of free upgrades). If you have the budget and need the added functionality, I'd go with something like that.
Anyway, I've tried to be as detailed as I can. I hope this helps and good luck on your search! :)
IntelliJ IDEA was awsome. Now it is just "better than Eclipse". You can code in IDEA several times faster than in Eclipse in my experience (I moved from being an Eclipse early-adopter to IDEA and haven't looked back) but IDEA has a number of flaws:
Full version is not free.
It hogs memory
Project management is not great
Jetbrains keep bringing out minor
enhancements and calling them major
releases. IDEA is now slower and
buggier than it was a few years ago.
And you get charged for the
pleasure! (IDEA now has a free Community Edition)
I still wouldn't go back though; the code refactorings and intentions in IDEA are just too good.
A major version of Eclipse came out a while back and it took me about an hour of searching on the website to figure out what was actually contained in the release which might persuade me back into the fold. Visit JetBrains to see how to sell an IDE!
There is no best IDE. You make it as good as you get used using it.
Eclipse can't remotely be called an IDE to my opinion. Okay that's exaggerated, I know. It merely reflects my intense agony thanks to eclipse! Whatever you do, it just doesn't work! You always need to fight with it to make it do things the right way. During that time, you're not developing code which is what you're supposed to do, right? eclipse and maven integration: unreliable! Eclipse and ivy integration: unreliable. WTP: buggy buggy buggy! Eclipse and wstl validation: buggy! It complains about not finding URL's out of the blue even though they do exist, and a few days later, without having changed them, it suddenly does find them etc etc. I Could write a frakking book about it. To answer your question: NO ECLIPSE IS NOT EVEN CLOSE THE BEST IDE!!! IntelliJ is supposed to be MUCH better!
Eclipse was the first IDE to move me off of XEmacs. However, when my employer offered to buy me a Intellij IDEA license if I wanted one it only took 3 days with an evaluation copy to convince me to go for it.
It seems like so many small things are just nicer.
IntelliJ is good one but its not free!!Then NetBeans is also a good option.Also if you are IBM suite WSAD is good
I'd have to vote for Netbeans as the best one currently. Eclipse is decent, but right now Netbeans is better.
I used IntelliJ for almost 5+ years (from v1.5 to v7) and around 8 months ago I migrated to IBM RAD (which is built on top of old eclipse platform) and around 3 months ago I settled down with Eclipse (Ganymede).
I used IntelliJ on a mid size projects (with 10k classes) and I'm using Eclipse on one with just few hundreds of classes.
I found both of these IDEs (IntelliJ and Eclipse) to be good. IBM RAD is just a waste of money (ofcourse one could be stuck in an IBM shop without choice).
IntelliJ has far superior refactoring capabilities and keyboard shortcuts for most of the features compared to Eclipse. It supports importing projects from Eclipse. It has better built in xml handling capabilities (with refactorings applicable almost like for the java code). Built in Intelli Sense is also very good.
Eclipse is a great tool and its free. It took me around 1-2 months to get used to Eclipse from IntelliJ (lot of unlearning of shortcuts), but I got hang of Eclipse, it has been pretty smooth. I havent used Eclipse on mid size project.
Both IntelliJ and Eclipse have active plugin communities and both integrate well with version control systems, unit test frameworks, application servers and profilers.
IntelliJ started becoming slow and bloated starting from v4.0. It was slow with mid size projects. I would not use IntelliJ unless its performance can be improved.
I havent used these two IDEs for anything other than java development.
If you are a java developer and your company pays for IntelliJ and if your project is not too big, go for it. Otherwise, dont despair: Eclipse is always there.
I gave Eclipse a 3 months ride at my new work, but after that I found out that normal Maven project can be run in IntelliJ IDEA too (unless it's Eclipse plugin/EMF/something of course ;-)). 3 months are not enough to compare it with 8+ years with IDEA, but it's enough to claim I gave it a fair try. I decided to live with its perspectives (other IDEs don't need them), with its poor debugger (doesn't show date values unless you click on them! etc.), with its comparatively worse completion than IDEA has.
Now after all those years IDEA is also free (community edition) and I use it without much trouble. Of course I miss some of those "Ultimate" features of paid version, but it's far better than Eclipse. Biggest difference is the whole mindset needed for both of these IDEs. But after you master the mindset of either I can't understand what can anyone hold to Eclipse - unless you need its plugin ecosystem or you have some serious investments there.
Example of "mindset" differences: You have to save in Eclipse, not in IDEA, and I don't care what is better or worse - but you have to save in Eclipse to let him clean up underlined errors that are not errors anymore, etc. ;-) You have to save there in order to get rid of errors in other files too, because other file doesn't see the changes otherwise.
I blogged much more about this topic - and yes, I'm biased, though I tried to be as little as possible. But after some time it wasn't simply possible: :-)
http://virgo47.wordpress.com/2011/01/30/eclipse-vs-intellij-idea/
http://virgo47.wordpress.com/2011/02/22/from-intellij-idea-to-eclipse-2/
http://virgo47.wordpress.com/2011/03/24/from-intellij-idea-to-eclipse-3/
http://virgo47.wordpress.com/2011/04/10/from-intellij-idea-to-eclipse-4/
And no, not even IDEA is perfect, I know it. Because I use it a lot. But it is the best Java IDE if you ask me. Even the Community edition.
[This is not really an answer, just an anecdote. I worked with guys who used emacs heavily loaded with macros and color coded. Crazy! Why do that when there are so many good IDEs out there?]
if you know you way around emacs you can code 100x faster then an IDE. And it can handle bunch of diffrent languages so you do not need to change your coding enviroment if you need to code in another language. Works on all operating systems, you can custimize/add anything you want. Even edit files half way across the world over ssh.(no downloading or uploading).
Before calling them crazy you gotto use it first. i am sure they are calling you crazy for using an IDE :).
It is often said that there are better IDE's for various languages (eg Java) than Eclipse.
The power of Eclipse is that it's basically the same IDE for many languages, meaning that if you know you'll have to code in several programming languages (Java, C++, Python) it's a huge advantage that you only have to learn one IDE: Eclipse.
Eclipse! It can be slow at times and uses a lot of memory but it works well.
I don't know if Eclipse is THE BEST Java IDE, but it is definitely very decent and my favorite IDE. I tried IntelliJ briefly before, and found that it's pretty similar to Eclipse (IntelliJ might offer some nicer features, but Eclipse is free and open source).
I never really tried NetBean because I know Eclipse before I know NetBean.
Eclipse is my favorite because:
Free
Extensible (to a point that you can turn it in to C++ IDE or DB Development IDE)
Open source
I know how to write Eclipse plugin
You can develop a product easily with Eclipse (exp. Lime Wire is Eclipse under the hood)
If you are used to using conventional Java IDE like JCreator you might need some time to get used to Eclipse. I remember when I first learned Eclipse, I didn't know how to compile Java source...
I would suggest that in order to find the best IDE FOR YOU, try what people recommended (NetBean, Eclipse, and IntelliJ), and see which one you like the most, then stick with it and become an expert of it. Having the right IDE will boost up your productivity a lot in my opinion.
I am going to have to recommend Oracle JDeveloper. I personally thought that Eclipse was the best Java IDE too at one point. Then I was introduced to Oracle JDeveloper by my job. I find the UI design much better than Eclipse. Also it comes with an incredible amount of features built in including great support for EJB3, JSF, WebServices, etc. It is essentially an IDE for the entire JavaEE stack (and the Oracle ADF framework as well). - All of the tools you will (probably) need for JavaEE development come with this IDE right out of the box, no plugins required (unless you download the minimalist version).
Talking about java Ide it is better to go for NetBeans.In My opinion it is better and provide great advantage over other ide but it has disadvantage over Eclipse that it grabs more more while working but do to its features and support i suggest Netbeans than any ide
Agreeing with the others. Netbeans is a pretty good IDE which also caters for other languages (PHP, Ruby, C/C++) if you're prone to using any of those. Then you get the added benefit of knowing your way around the IDE when deciding to pick up a new language.
To be fair however, I haven't had much time with the eclipse IDE.
This is subjective... I find it to be a good tool.
It depends what kind of development you're doing - for EJB stuff, many folk would favour Netbeans. It also depends how much you want to spend - I assume you're talking about free IDEs?
In my opinion if you got the resources to use, then go with eclipse. NetBeans which is awesome like eclipse is another best option, these are the only 2 I've ever used (loved, needed, wanted)
Eclipse is hands down the most popular, and for good reason!
Hope this helps.
I'd agree with some of the others out there saying that NetBeans and IntelliJ are both good IDEs. And I'd say that in using all three (Eclipse + other two), that Eclipse is by far my favorite. I found some of the documentation out-dated, but also found the support community very helpful. I started using Eclipse by jumping into the deep end of the pool: writing an RCP before ever learning the IDE. The IDE was intuitive to use, and when I found the right news groups to post to - most of my questions were already answered. The hardest thing for me (and frustrating, admittedly) was knowing how to phrase my search terms in order to get to the answer that was already posted.
Remember that Eclipse is still "relatively new" as an IDE player, though given that - it's pretty darn robust.
My only complaint about Eclipse is that with each new release, it seems to hog up more resources. With a mid-sized project/workspace, it takes seemingly forever to build (or rebuild) the project. Compared to IntelliJ, it's faster and more intuitive to use.
Don't forget that Eclipse Platform was started by IBM. There are few platforms out there.
IBM Websphere Application Developer
(WSAD) and/or Rational Application
Developer (RAD) which is a
Eclipse-type IDE from IBM (actually,
that's Eclipse with IBM specialized
libraries/plugins).
MyEclipse (never used it but it's another Eclipse-type IDE)
Sun Microsystem's
NetBeans. It's too Java-centric as
it's designed to create applications
purely in java (NetBeans runs in
Java).
IntelliJ (to name but a few)
Oracle JDeveloper (I never really liked the directory structure layout JDeveloper creates).
The advantage with Eclipse is that it can be customized to your development pleasure, plugins can be written for Eclipse to conform to your needs (e.g. The Eclipse "Easy Explorer" plugin for browsing the directory of your source in Windows Explorer).
Eclipse allows you to also incorporate other languages/SDK's, such as C++, Silverlight projects, Android Projects for development. You can also easily manage resources in Eclipse.
In my experience NetBeans are resource intensive. Oracle JDeveloper and IntelliJ aren't free though.
Oh yes, If you have issues or bugs with Eclipse, Eclipse has the ability to restart and submit the crash to Eclipse servers.
This is not really an answer, just an anecdote. I worked with guys who used emacs heavily loaded with macros and color coded. Crazy! Why do that when there are so many good IDEs out there?
I have experience with using JCreator LE. I like it because it is easy to use and it is free. Give it a try if it interests you.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I recently got a Dell XPS 64-bit Vista for myself. Eclipse doesn't have their 64-bit version, but I've read on forums that they download Eclipse and work with Java 1.5 on the Vista with only some problems. I have Java 1.6 and Netbeans was easily downloadable.
What's the basic/big difference that I'll notice if I shift to Netbeans from Eclipse now?
What is the difference between Coke and Pepsi?
Ok, it's not really that similar, but a lot of the differences are in qualitative ways. Speaking of Netbeans 6.1 and 6.5:
Netbeans has a very different UI and
workflow. There are no perspectives,
but toolbars and such will auto
appear/hide as needed (i.e.
debugging). Build process is
different. Managing projects is
different.
Netbeans focuses on a smooth,
integrated experience sometimes at
the expense of features. The
Profiler is fully integrated into
the editor (context menu's let you
quickly manipulate the profiler),
but is lacking some featuers of
Eclipse profilers.
Netbeans has a tightly integrated
JSP/Servlet/JSF development
environment. The whole workflow
connects together from development,
debugging, deployment. This is more
of a "feel" than anything else.
Netbeans editor is missing several
Eclipse features. Spell check being
one prominent one. Quick complete
(Ctrl-K, Ctrl-J) is an underused
Netbeans feature. Snippets being
another (though they have an
auto-complete template which fills a
different, but similar niche).
Less choice. If you don't like one
of the included tools, it's unlikely
you will find a good alternative
plug-in.
Matisse. Eclipse GUI editors have
started to catch up, but they are
simply no comparison to Matisse.
Superficially, they seem
equivalent...
<sarcasm>Your friends will make
fun of you.</sarcasm>
Maybe when you work with several (many) projects at the same time I would prefer Eclipse (Workspace organization is great for that). Interface seems to respond better (at least vs old versions of NetBeans such as 5.0) in Eclipse too. This is related to SWT vs Swing performance issues, though the differences are no so big as on Java 1.4 days.
However I would say Netbeans is a better integrated IDE, you launch/debug applications the same way no matter you are developing a desktop application or a JSP/Servlet web application. Building relies entirely (since version 4 I think) on Ant, and Netbeans launches/adds ant target transparently. Ant in Eclipse has the same level of integration as a pair of bull horns sticked to the front of your car.
Eclipse is more extensible than Netbeans but the last is more uniform.
I think it will be mostly culture shock. Things in different places. Features named different things.
If you really want to give Netbeans a try force yourself to use it for a month. It will suck for the first day or so as none of the shortcuts will be the same, various idioms will be different etc.
At the end of the month you will be competent enough in it that these things should have gone away and you can objectively decide if you like it more. (I'm currently trying this with IntelliJ btw. Current state, confused ;-)
Why not use both ?
I like netbeans Profiling tools much better than eclipse's as they work straight out of the box on Linux.
Eclipse I use for normal editing, the mylin tools really help you work in a task oriented way.
Netbeans supports the import of eclipse projects so you can go along with both IDE's working on a single project if you need to.
Sad to say, you also quickly discover that Netbeans is far more unstable than Eclipse. I give a serious try (more than one month ;)) to 6.1 and that was the more noticeable "feature" for me. Sometimes, a simple mouvement of the mouse is enough to kill the application.
They made huge progress since 5.x, but imho, Netbeans is still far behind Eclipse.
I've been recently trying Netbeans 6.5 and have found/understand:
Netbeans has better new language support (as it is the "reference" IDE/implementation for new technologies)
Similar to above, but Eclipse still doesn't have 1-1 generic compatibility with sun's javac or an option to "make it compatible" (Eclipse is too smart about inferring types - correct, but no good if your build machine can't make it)
No immediate need for plugins - subversion (and Mercurial?) are built in, and since it integrates nicely with ant, I find less need for Ivy etc plugins.
Multiple classpaths - you have compile time, run time, test compile time and test run-time. This means if you add something as a test dependency (that your build script knows about), it will not be visible to the main code. Again, very good for IDE / build server consistency.
Marker navigation is through the task list rather than through the current file.
Netbeans is way slower in updating markers (presumably due to ant compilation rather than eclipse's triple compiler). This causes huge problems when trying to quickly navigate and fix task markers.
The basic workflow of Netbeans is much smoother and more reliable; little things like ^X to cut current line work properly. It's also simple enough to understand what it's doing.
otoh, Eclipse has the emacs quality of being a platform in its own right; some people swear by that.
Edit: I've changed my mind, on coming across HyperAssist: https://bugs.eclipse.org/bugs/show_bug.cgi?id=159157
Quite simply, the HyperAssist plugin fills in the missing piece that kept Eclipse from the gold medal; with it, Eclipse is the best IDE I've ever used.
The build system is different. Eclipse has an internal build mechanism whilst NetBeans relies on ant.
The popular Mylyn productivity tool is a key feature that is only available in Eclipse.
A Joel on Software forum participant wrote: "I've been drawn to Eclipse by a few features, notably: Mylyn, and would like to try it out."
http://discuss.joelonsoftware.com/default.asp?joel.3.703449
Mylyn provides integrated access to your bug and issue tracker. When you work on a bug or issue, Mylyn focuses the Eclipse UI on only the code that is relevant for the task at hand.