tags:

views:

6992

answers:

20

Is Eclipse the best IDE for Java? If not, is there something better? I want to know and possible try it out. Thanks.

+3  A: 

Eclipse! It can be slow at times and uses a lot of memory but it works well.

Ken
You can say the same about NetBeans.
Mark Baker
Is there an IDE you couldn't say that about?
James Schek
Well, in the .Net world, VS2005 doesn't use much memory. You pay for it with ultra-slow features, though. In the Java world, there are some that are fast and low-memory, but with few features.
jsight
IntellJ IDEA. I use to have this project with some 2,000 classes and tons of libraries. I swapped from Eclipse to IntellJ, bacause I hated so much the project and I though it was Eclipse fault. The result was Idea was very slow. Workaround? I create a module and use IDEA anyway. :) Idea is awsome!!
OscarRyz
+1  A: 

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?

Flint
yes free IDE's. do not want to spend if there is a powerful IDE that is totally free. Thanks.
+1 for driveby coward. This is not an unhelpful answer.
Andrew Rollings
+12  A: 

IntelliJ is good one but its not free!!Then NetBeans is also a good option.Also if you are IBM suite WSAD is good

GustlyWind
Sorry but WSAD and RAD from IBM are evil, they take something good (Eclipse) and make it bad (slow, bloated, chrashy, fragile)
David Waters
WSAD and WS is the perfect combintion if one loves self torture, things that shold take seconds becomes minutes and more.
mP
Probably common knowledge, but in case not, there is now a community (free, open source) version of IntelliJ: http://www.jetbrains.com/idea/free_java_ide.html
GreenMatt
A: 

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.

Rayne
+1 for drive-by coward
Andrew Rollings
+1  A: 

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.

Josh Smeaton
+5  A: 

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.

Martin Bøgelund
and PHP and likely any other language you can think of.
Liam
Netbeans has all those too.
Michael Myers
+13  A: 

NetBeans and Eclipse are certainly the two best free IDEs for Java. NetBeans is still slightly more Java-centric, even though it has been adding features for other languages lately. Eclipse has been doing this for years.

I like the GUI editor that ships built in to NetBeans (Eclipse has one available as a plug-in), but other than that the two have a very similar feature set for Java development.

Bill the Lizard
+26  A: 

Let me just start out by saying that Eclipse is a fantastic IDE for Java and many other languages. It's plugin architecture and it's 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 JEE 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 things upon which is 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! :)

Tim Visher
Being free is not a feature.
Arne Evertsson
Being free is a very important factor to many people. For example, Eclipse is perfect for students.
Liam
3.4 introduces a dropins folder, makes plugin installation without update sites a lot easier.
MetroidFan2002
Agreed, the 3rd party plugin community is weak :(
srand
I think you're a bit harsh on the documentation. Personally I found the documentation in the wiki and eclipse corner very useful, also http://help.eclipse.org/galileo/index.jsp offers a lot of information and a tutorial. I have never encountered "wrong documentation" that wasn't actually outdated upon further inspection.
NomeN
Now intellij is also free, at least to some extent!
fastcodejava
The quality of documentation **varies** alot. In some areas it is excellent, and in many other areas it is just bad or missing.
JesperE
As multiple people have noted, the documentation does _vary_. Certain areas are great, others are worse than poor. To me, the gold standard of documentation is the Emacs help system. Eclipse is just no where close to that.
Tim Visher
+8  A: 

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.

Darron
+3  A: 

I'd have to vote for Netbeans as the best one currently. Eclipse is decent, but right now Netbeans is better.

Brian Knoblauch
A: 

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?

warsze
B/C it's all about choice, if you are faster w/ your current tools, why switch to something else? Just b/c all the cool kids use it?
André
+1 for drive-by coward
Andrew Rollings
As a converter from Eclipse to Emacs... Emacs is a lot more powerful than you think. I'm not saying Eclipse is bad, or IDEs are bad, but once you get familiar with Emacs, it's hard to go back (and this coming from someone who knows all the Eclipse advantages over a "simple" editor)
Mike Stone
This is not really an answer : you are right. Anecdotes = comment. -1.
Silence
+7  A: 

[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 :).

I think there's a pretty strong case to say that Emacs is effectively an IDE.
nevster
As a converter from Eclipse to Emacs... Emacs is a lot more powerful than most people think. IDEs give you a lot of awesome features, but there's a lot of things that Emacs can do that no IDE can... using it over ssh is probably my favorite benefit though.
Mike Stone
100x faster than an IDE? Have you even used Eclipse?
wsorenson
@wsorenson: I've completed some projects in the time it takes eclipse to *load*
Draemon
@Draemon I guess those projects aren't very profitable or else you'd have a computer capable of launching Eclipse. Seriously, though, there's no argument that it's an enormous resource glutton (I even hand-delete some of the plugins I don't want), but once you're inside the application and familiar with it, then enormous productivity gains are possible.
wsorenson
+4  A: 

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).

Matthew Ruston
+12  A: 

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:

  • It's 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! EDIT - 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!

oxbow_lakes
My 2 cents about IDEA is that it's so slow. I've used Netbeans extensively, and found that IDEA is slower. I use Netbeans 6.7 and tried out the IDEA 9 beta.
ShaChris23
"It's not free" is not a flaw - the price of software should not be used in describing its strengths and weaknesses.
Josh Brown
@Josh - why not? It not being free is a **showstopper** for plenty of individuals *and* companies. Of course, since I wrote this, IntelliJ have released the Community Edition, which is free
oxbow_lakes
Maybe you should update the answer now that IntelliJ has a free version?
configurator
A: 

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.

Zee JollyRoger
+2  A: 

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.

Alvin
+6  A: 

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.

mado
+1  A: 

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.

twokats
+3  A: 

There is no best IDE. You make it as good as you get used using it.

Peter
A: 

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.

The Elite Gentleman
Eclipse runs in Java as well btw.
BalusC
That's the beauty of it all.... :-)
The Elite Gentleman