Is Eclipse the best IDE for Java?

JavaEclipseIde

Java Problem Overview


Is Eclipse the best IDE for Java?

If not, is there something better?

I want to know and possibly try it out. Thanks.

Java Solutions


Solution 1 - Java

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! :)

Solution 2 - Java

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!

Solution 3 - Java

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

Solution 4 - Java

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!

Solution 5 - Java

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.

Solution 6 - Java

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

Solution 7 - Java

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

Solution 8 - Java

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.

Solution 9 - Java

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

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.

Solution 10 - Java

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

Solution 11 - Java

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.

Solution 12 - Java

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

Solution 13 - Java

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.

Solution 14 - Java

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

Solution 15 - Java

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

Solution 16 - Java

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.

Solution 17 - Java

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?

Solution 18 - Java

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.

Solution 19 - Java

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.

Solution 20 - Java

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.

Solution 21 - Java

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?

Solution 22 - Java

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.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionPhilKHView Question on Stackoverflow
Solution 1 - JavaTim VisherView Answer on Stackoverflow
Solution 2 - Javaoxbow_lakesView Answer on Stackoverflow
Solution 3 - JavaPeterView Answer on Stackoverflow
Solution 4 - JavaLawrenceView Answer on Stackoverflow
Solution 5 - JavaDarronView Answer on Stackoverflow
Solution 6 - JavaGustyWindView Answer on Stackoverflow
Solution 7 - JavaBrian KnoblauchView Answer on Stackoverflow
Solution 8 - JavamayyaView Answer on Stackoverflow
Solution 9 - Javavirgo47View Answer on Stackoverflow
Solution 10 - JavaHamza YerlikayaView Answer on Stackoverflow
Solution 11 - JavaMartin BøgelundView Answer on Stackoverflow
Solution 12 - JavaKenView Answer on Stackoverflow
Solution 13 - JavaAlvinView Answer on Stackoverflow
Solution 14 - JavaMatthew RustonView Answer on Stackoverflow
Solution 15 - JavaRaviView Answer on Stackoverflow
Solution 16 - JavaJosh SmeatonView Answer on Stackoverflow
Solution 17 - JavaFlintView Answer on Stackoverflow
Solution 18 - JavaRayneView Answer on Stackoverflow
Solution 19 - JavatwokatsView Answer on Stackoverflow
Solution 20 - JavaBuhake SindiView Answer on Stackoverflow
Solution 21 - JavawarszeView Answer on Stackoverflow
Solution 22 - JavaZee JollyRogerView Answer on Stackoverflow