Why Do I Hate Eclipse?
As a consultant, I’m very often forced to use Eclipse as a development environment, and every time I do, it’s such a pain for me that I can’t help complaining about the poorness of this thing. And every time I do, most of my team mates, who have been brainwashed by the monopolistic propaganda of Eclipse, just keep asking me what’s wrong with it. And sometimes it’s hard to explain because it’s really a matter of user experience. And each time I find a specific example, I get answers like “yeah, but that’s just one thing”, or “I’ve never had that, you’re not lucky”, or “this is just because you’re not used to the Eclipse way of doing things”, or even the worst one “maybe yes, but it’s free!”. Since when is “free” a feature?
Right now, I’m reading the SpringSource dm Server getting started guide, and I was very surprised to read that SpringSource guys, who aren’t exactly stupid, and seem very experienced with Eclipse itself as they have based all their development tools on it (Spring IDE, STS, etc.), talk about what they call the “Eclipse Dance”. I didn’t know about the expression but I’ve definitely danced it more than once: every now and then, Eclipse views get all mixed up, some views indicate errors in a file, while other views on the same file say everything is OK. Or you get a message saying that it cannot find a class where you have the source in front of your eyes. Or like now, I have 2 maven projects at the same level referencing the same parent POM, and one of the projects says it can’t find the parent artifact, whether the other one seems to find it without problem. And when that kind of things happen, the only thing to do is to try a combination of closing all projects and reopening them, clean all projects to force a clean build, or even restart the whole Eclipse workbench. WTF?
How can SpringSource support such a poorly designed environment while admitting such unacceptable bugs? Oh yeah right! It’s free, so everybody uses it. This is really the perfect example of when Open Source can also kill innovation instead of fostering it. It’s free so everybody uses it, including corporate customers, so all tool vendors base their tools on it (Spring IDE, Flex Builder, Weblogic Portal Workshop, etc.), so even more people use it (even if they have better tools in their bag), and we’re screwed.
I would love that framework vendors focus first on command-line integration with tools like Maven and Ant, and then provide IDE integration for a few popular environments, including Eclipse, Netbeans, and my personal choice, IntelliJ IDEA. This would reinforce competition between IDE vendors instead of killing it while considerably lowering the barrier to entry to their frameworks. Right now, SpringSource is lucky I really need to understand more about dm Server, because if it had been only for cusriosity’s sake, I would have given up already just because of the tight integration with this crappy Eclipse thing and all the pain I have to make it work consistently.
So if you’ve already been in that situation, and you start to think there’s gotta be a better way, try out IntelliJ IDEA.
PS: I’m not related to Jetbrains in any way. I just happen to be a very happy customer of theirs, happy to pay a few hundred bucks every year to get their latest version, because as a Jetbrains guy said it last year at Devoxx, “IntelliJ iDEA is the only IDE worth paying for.”
Subscribe to the RSS feed and have all new posts delivered straight to you.







I think the biggest issue with Eclipse is the Maven integration. On our projects we had to just deactivate the Maven builder because we were experiencing Eclipse freezes of several minutes without knowing what was happening. It just killed all the productivity enhancements we were expecting after the mavenization of our custom build.
I haven’t tried yet IntelliJ with big Maven projects (more than 50 modules).
Hello Sébastien Arbogast,
I don’t often use Eclipse. I often use Netbeans for Java and PHP project development. I think your article is very useful for programmer in choosing a right IDE.
I will try to use IntelliJ as you recommended.
Thanks for useful article.
plus one from me!
Hi,
I think that you mixed some things…
M2Eclipse or Spring IDE don’t take part of Eclipse Mainstream Project. These projects are contributed by Apache and Spring, (I believe… but not sure).
Eclipse is a really good platform. And everyone can use it… and push the features they need and provide them without bug if they want(have time and experience).
An Eclipse lover.
I also had major issues with Eclipse, especially Maven based projects, the IDE kept freezing for 30 minutes, time to drink coffee, take a bath, etc.
The most outstanding issue that I had with Eclipse is when it crashed and then didn’t recognized my SVN settings. I was wondering if all my SVN hidden folders got wiped out or if it was just an Eclipse bug.
Eclipse is a powerful IDE, I don’t deny it, but it’s just too unstable. I do like plugins, but when I work I prefer to do it all by hand instead of wondering which plugin messed up.
I also recommend IntelliJ or NetBeans for professional development and Eclipse for job interviews preparations only (once you’re in you just ditch it).
I suppose Springsource like Eclipse because they focus on “common” in “lowest common denominator”. Others can’t get by “lowest”.
I don’t like Eclipse because it reminds me of all the programmers I’ve worked with who can’t code if you take eclipse away from them. One place I worked coupled their deployment process to Eclipse. Now that I think about it though, I’ve seen worse – at another place they deployed the JRE in the jar. I counted over twenty instances of the same version of the JRE on one server.
The problem I talked about with M2Eclipse or SpringIDE is merely an example. But the fact that such bugs occur in numerous plugins (Subversive and Subclipse have their problems too by the way) is a good hint: the common denominator is the platform. And I have worked with Eclipse RCP, behind the curtain, and that’s where the whole problem comes from: it’s incredibly complex,, there are so many ways to do one thing, and the platform wants to be so generic, it tries to do so many things that it’s very hard to make it do what you want correctly.
Your “time and experience” remark is excellent, I would add patience to the mix. And what if I don’t WANT to? What if I just don’t have time to go through the learning curve to learn JFace and Eclipse RCP just to fix a product. I know, I know, that’s what Open Source is all about, that’s the deal: I get it for free and I accept to cope with a few bugs. But all I wanted to say with this post is “if you don’t want to cope with the numerous bugs, there are alternatives”.
NetBeans is much better than Eclipse. Integration with Maven and Sping and it is FREE! :)
> NetBeans is much better than Eclipse.
But Oracle will not support 3 different IDE-frameworks (JDeveloper, Eclipse, NetBeans)
I think the best solution is to never mandate that developers use any one particular IDE.
Choosing an IDE is like choosing a spouse, there is no right/wrong/perfect choice. So mandating the use of a particular one is never going to make everyone happy, in fact, it will always leave a lot of people unhappy.
My projects were simple enough that we could store the core (source, config, libraries, etc) in SVN and then provide instructions on how to set up your project using the various popular IDEs. None of the IDE-config files were ever checked in. Since my projects were simpler, maybe this simply isn’t an option for everyone.
But if it isn’t, we should work to make it that way. Marriage of a project and an IDE has always gone badly every single time I’ve seen it happen.
Hey, it is refreshing to see an alternative opinion.
I do use Eclipse, after trying a bit NetBeans (haven’t tried it recently).
I use it at work: they can’t buy us some memory to go beyond 1GB, I don’t see them buying an IDE.
I use it at home: I just don’t have a budget to buy an IDE, even less an expensive one.
At work, it is problematic indeed, even more with our limited memory, even more if we ask it to compile our big project! (We usually use a command line Ant tool for this.) It is not unseen to wait to one minute or two just to display a tooltip I didn’t wanted actually… Auto-completion is a nightmare when you type fast, because it insists on getting a list of members when you already type the parameters…
Actually, I type most of my code in my fast, lightweight editor (SciTE) and switch to Eclipse for a quick check of the code (and auto-import feature) and debugging.
I experienced the bugs you mention above (still showing error in a corrected file, not finding classes in same package…) too.
Now, I am getting used to it (found it very confusing to learn, between projects, perspectives, views, workspaces, what’s not), and for some features it isn’t so bad… for a free software! ;-)
I don’t know all IDEs… But from my point of view, Eclipse is a really good IDE for Java editing. But of course you need a decent machine to use it. I see the problem of 1GB machine… It is a shame when 4GB cost less than 100$.
Okay eclipse has some problems, like workspace mess, and all. But it also offer really good features :
- instant find a class, ressource
- call hierachy
- refactoring, code generation
- quick assist, auto completion, error correction, auto import, auto format
- local and SVN history
- server integration
- powerfull debugger
- good and fast UI (on a modern computer).
- it’s a standard… Like stated above, most editor have an eclipse plugin.
- it support many file format in standard, like XML with completion using DTD/XSD
- come with a complete framework for many things you need for software engineering… MDA and all.
I understand that not all people have to use the same IDE, and maybe some IDE are better than eclipse. But for now it’s free, you can use it on any operating system, and it simply work.
Of course, eclipse is a very heavy software, and the open source thing implie that if you use a bad coded plugin by some hacker, it will not allways work as expected.
1. Please be specific: what version of Eclipse are you talking about? What plugins have you heavily used? Is this Windows/Mac/xyz Linux? Generalized stuff is really hard to zone in on. I say this because I haven’t seen the depth of issues you have. Although I have seen some, each new release of Eclipse is better, more stable, and has better features. What else can I ask for?
2. I heard maven mentioned in more than one comment. I was just listening to “Maven without pain” episode of javaposse.com, and wonder if your problems are linked to maven.
3. For just about any project I have started, the first thing I code is the build process. Even if I have only written “Hello world”, I want a command-line script that builds the whole app in place before I start slinging tons of code. I don’t need to be running down problems for the build team. Using Eclipse as your build environment is dumb, Dumb, and DUMB! I use ant build my jar files. I want CM team typing “ant” on a prompt, NOT having the option to click 10,000 buttons and get it wrong through an IDE. However, I’m curious to see how the new Eclipse+Groovy JDT will be possible for an ant build. (HINT: I ain’t about to break into using the IDE for build jobs!)
4. You do need resources. That’s for sure. I have a 10-year old laptop that does NOT have the memory nor CPU to run Eclipse. Well…I get by without. Just using gedit with a command shell is fine. Some days, a nice big IDE with code navigation and searching is nice. Other days, I crave my nice, UNIX-y shell lifestyle I used back in college. #1 reason I like Linux is the fact that I have both depending on what mood I’m in. :)
5. Bottom-line: use what you like. Can’t speak to consulting engagements, where you probably have to meet your clients on their level. Maybe your first step is introducing an ant build job, and making sure they have a centralized code repository. That way, if your cranking code, you commit, they update, and you are nicely decoupled from them, and the code becomes IDE-agnostic.
Eclipse is so fucking slow and is a memory pig. It is painful to use. It is counter intuitive.
generally ok with Eclipse as free versatile tool – but somethings just strike me as stupid, like now — it acts like it opens a file but won’t display it — you have to make a “project” first — can’t use it to just take a quick look at some unknown new file. And, it defers to windows preferences — i ask it to open a file, i want to see how Eclipse views it, and it stupidly invokes some other tool —
i’m sure there’s some “logic” behind these annoying behaviours, just seems like the mindset is “you have to formally set me (Eclipse) up as the tool for some filetype AND don’t bother me with ‘little’ stuff i only deal with formal official ‘projects’” — well la te da… rigid mindless formalism at the expense of simple utility
stupid
YEAH, I tottaly agree. The problem you are having is that you have been working with IntelliJ, because then you know how great an IDE is able to work.
I am working with IntelliJ since almost 10 years and NEVER EVER had any problems.
Sometimes, since the brainwashed world is using more and more Eclipse and you almost not getting around it anymore, I had to use it here and there too. And it is allways a PPPPAAAAIIIINNNN (in short: Pain). I hate it. It is sssssoooooo bad.
I even sometimes use Netbeans and especially since version 6.7 it is faaarrrrr better then Eclipse.
And do you know what, all this Pain is caused by the market power of IBM. IBM is the main supporter for Eclipse. And thats the problem. Remember the days, where we had great computers like Atari, Commodore Amiga and Apple ? We laughed hard about the poor PCs. BUT, IBM had the market power. In our company we have to use (not for that long anymore – yeah, yeah, yeah) Lotus Notes, which also is run now by IBM. Another example of extremly bad application development.
So, stay away from IBM or other market giants, they dictate the market and you get bad software products. Support the smaller software companies, BECAUSE they really have to deliver, otherwise they would not survive (for example: JetBrains IntelliJ – I am not working for them, but I am enthusiastic about their product and I am willing to PAY money for it).
So, I agree with Eclipse being such a bad piece of software, but the worst thing is that more and more people are using it.
Eclipse is terrible. I had problems where’d it’d crash when using the autocomplete (it had done everything EXCEPT actually put the completed code into my source, too) and just disable the auto import feature for no reason what so ever.
Personally, I like Netbeans. I’ve seen the comments further up about Oracle support, and I think it might actually have a decent enough community steam to keep it going at least for a little while
Thanks for writing this – had to be said. The hype around this tool is nausiating. I have no hair left because of the frustration this thing has caused. It seems these days if java in anyway forms part of a product then it is perfect. Eclipse is slow, counter intuitive – I am 10x more productive with Notepad++
If you are working in big corporate (read boring and rigid) teams then go with good ‘ol eclipse. If you are a quick and dynamic coder building small to medium solutions give it a miss.
I have used Eclipse for Python (Pydev) but I left it. I explored instead PyScripter which is the one I liked. If you save a work (project or code file) using Eclipse checking the folder you will find annoying mysterious name hundreds files and folder. Just check the installation folder of Eclipse. See, XXXXX.XXX.XX.12.34.45.45.46.jar !!!! What’s wrong with developers of Eclipse. Why were they crazy to name files? How many files? Eclipse is really dirty and I never use that again. In my philosophy, crazy names, dirty folder, bugful programming, immature developing.
Cheers,
Hi there:
Currently, i am fighting with Eclipse.
I am doing a project and, for some strange reason, Eclipse is running pretty slow, even typing is painful slow.
Things that i have from eclipse:
a) there are tons of plugins but most are useless or do the same task. And the few good one plugins are simply libraries or sdk (Spring, Jboss, Google for example).
b) Sometimes is slow.
c) The workplace is a *MESS*, my workplace consist of 700kb (codes and a couple of jar files) and 30 megabytes of eclipse stuffs.
c) Share your project, you can’t simply say “hey, i will send my project”, projects are depended of your machine. fuuuu.
d) Poor libraries.
e) Perspective mess.
f) Fragmented.
g) Plugins mess : do you want to install Jboss IDE?.. then fine, it install thousand of plugins. (and i don’t have the time to know whats worth and what is useless).
h) Java ugly-ness.
i) buggy (i am using Helios, aka the last “stable” version of Eclipse)
and btw, i am used Eclipse since the beginning and still stink!.
I just decided to give up using Eclipse with c++. Out of the blue it stopped code completion. Reinstalled, imported the project again, and again, still nothing. Even worse at times it works, then it doesn’t.
Net is full of desperate ideas, none with use. I have no time for that.
I HATE eclipse. It screws up all the time. It tells me classes don’t exist, resources don’t exist. It tries to be too smart and ends up being really dumb. The interface is amateurish. My latest gripe? A project I have been working on for a couple of weeks – everything has been fine. This morning it tells me it can’t be compiled. Obviously some configuration options got screwed up, but I didn’t change anything! I’ve got over 20 years experience with UNIX/Linux/C/C++/Java etc. etc. and have had, by most measures, a very successful career because I am capable. And I know well crafted, well architected software. Eclipse is neither.
It’s time for Eclipse to be totally re-designed and rebuilt. Besides for doing the basics, everything else is a pain. It gets out of sync with the filesystem, NullPointerExceptions, permgen errors (and thats with nothing much going on but the basic IDE + tomcat server. I’ve tried so many times to get a web project going via the Glassfish connector and running it so I can debug etc all INSIDE the IDE , and every DAMN F**ING time it has issue with something, today, it keeps telling me that the application is already deployed. then i un/redeploy. same issue. then I go to the glassfish dir, remove all the stuff, and still it tells me the same story. It’s a damn mission to get plugins installed, behind a proxy, it asks the login details a million times and ends up failing. Doing it by hand, sometimes it picks up the stuff you stuck in the dir, sometimes not. WTF did you idiots choose to build a layer in between everything, nothing is ever working because what you see or do in the interface is never linked to the errors you get when you run the stuff.
How many f***ing releases would it take to get this shit working, DAMNIT!!!
from now on I WILL NOT take a job at a company that forces Ecipse on me… ARGHHHHHHHHHHHHHHHH!
I’ve been doing development for more than 32 years now and Eclipse has to be the biggest P.O.S. I’ve ever been forced to use. It’s an anti-tool. It’s buggy. It tells me it can’t find classes that were added with its own wizard. The nasty little icon decorations don’t work. Many of the developers I know ignore the Eclipse build errors altogether and rely completely on Ant builds (my preference also).
Today I tried to configure start-up options for a JBoss server. Eclipse displayed a red X and told me that I had to be in the server editor to do this. Where was I? … In the server editor.
Don’t even get me started on plug-ins and their non-existent dependencies. I’m working on a JBoss project right now. The company uses an old version of Eclipse because they wanted to use JBoss Tools plug-in. The problem is that most of the JBoss tools (seam tools etc) don’t work on their old version of Eclipse. They can’t upgrade to a newer version because there are too many product dependencies on this old version. They don’t even know what this anti-tool is doing to their product.
I’ll give it one thing. It is consistent, that is, consistently bad. I’ve used it on several versions of Windows, a couple of Linux implementations and even AIX. It sucks on all of them.
Netbeans is not perfect by any means, but it’s a far sight better than Eclipse. I’ve downloaded the trial version of IntelliJ a couple of times with the intent of giving it a try, but I’ve never followed through.
I’ve heard from so many Eclipse-Heads about how I’m just not doing it right, or I just have to get used to it. But if you take them away from that so-called IDE, they’re lost. I’ve been trying to “get used” to Eclipse for at least 6 years now an it hasn’t worked yet. I think I’d really prefer to use vi and my own Ant scripts over Eclipse.
Whew! Thanks for giving me a place to rant!
I have used 3 versions of this piece of crap on 3 embedded projects. I have 40+ years experience and I have never seen such a horrendous piece of work as this. Clearly it was created by acedemics and ‘do nothings’ not concerned with producing a quality product. It’s all glitz and no guts.
Whoever design the ‘workspace’ concept should be neutered and banned for life from programming.
Eclipse is an expercise in mental masturbation..
Embedded chip makers take note, stop supporting this!!!
I’ve had the occasional minor issue with Eclipse, but IntelliJ is far worse in my experience. Haven’t spent much time with NetBeans so no comment there.
I can’t help feeling that a part of the problem is resentment towards the market leader. Issues with Eclipse get exaggerated because it’s just so cool to kick Eclipse. Equally bad or worse problems with IntelliJ and NetBeans are brushed under the carpet.
Ah well. Everybody likes to have a little rant now and then, I suppose.
@Neil Bartlett
Sorry but nah, every IDE is far from perfect but Eclipse is specially broken and nobody is patching or trying to solve it.
My experience:
Netbeans :nice, no problem so far.
Intellij :some incompatibilities with jboss.
eclipse :random problem,random compile error, performance issue and several other.
I have to agree with all of the previous posters who said, in essence “Eclipse is a P.O.S”. I agree especially with the comment that it’s an anti-tool. I have used Visual Studio, MonoDevelop, Komodo Edit, and they all let me create a project and be coding within a few minutes. I’ve spent untold hours trying to grok Eclipse, and I still run into weird stuff I can’t figure out. Case in point: I need to do a class in TDD for people coding in C. They use Eclipse, so I decided to use Eclipse. First of all, I need the CDT version of Eclipse — no problem. Well, I had to uninstall my current version and re-install the CDT version. Then I needed ECUT, which didn’t install per any of the instructions I found. I finally got it by unzipping the files and stuffing them in the right place manually. I’ve spent most of the weekend trying to get a *simple* 2-3 source file C project set up with unit tests, and have failed miserably. The product, the plugins, the documentation, and everything else are just *painful*. Maybe it’s great for Java, but for Python, Perl, or C not so much.
I hate ECLIPSE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
IntelliJ IDEA FOR THE WIN!!!!!!!!!!!!!!!!!!!!!!!!!!!
I agree m2eclipse is a nightmare. Eclipse itself is not too bad when writing simple programs or academic stuff. However in an enterprise environment with so many modules and pakcages it just couldn’t handle it nicely. I particularly dislike the IDE provided by 3rd party vendors based on Eclipse. They added so many stuff that are useless in most scenarios and use a lot of resources. In Spring Tool Suite sometimes I just open a couple of XML files it can be using more than 1.4GB RAM. There are numerous times I need to wait for more than 30 seconds just by clicking at some empty space in the editor and the IDE says no response. Moreover, sometimes the class issues which seems so obvious in command line can take half a day to resolve in Eclipse IDE.
+ 1 for me.
i hate eclipse becouse i cant install java visual editor :( there is built in editor in netbeans..
Go team Eclipse yeah!
For me Eclipse is a POS because the IDE gets in the way of coding and productivity. I see the rest as a matter of personal taste.
Over 1.2Gb just to edit some files. Go team Eclipse yeah!
Many bugs which hinder productivity such as hangs and crashes. Go team Eclipse yeah!
Freeze for over 1min after every save of a file. CTRL-S is my best mate so this really annoys me. Yes I have turned off all the “productivity” boosters such as format on save, org. imports on save etc. Go team Eclipse yeah!
In short Go team Eclipse yeah! You POS!
I absolutely hate the lack of customization for Eclipse. I want my step into/step over/etc debug buttons on their own special toolbar. But mostly, I WANT NORMAL TABS. I hated JBuilder because I couldn’t ctrl-tab between open source files… but at least JBuilder had real tabs. Eclipse shows two or three tabs tops, and then puts the rest into a submenu. And ctrl-tab doesn’t work in Eclipse either!
Also, project files would be nice, big projects NEVER import correctly.
In short, I miss JBuilder. And seeing how JBuilder was a steaming pile, that says a lot about my opinion of Eclipse.
Amen to this article. I’ve used multiple IDEs in different languages and am in the same boat. Every time I have to go back to eclipse, I’m hoping that they have fixed the bugs and made the UI better, but after 10 years they still have the same garbage. Just like you, you try to tell a Java dev that eclipse is a joke, but they just don’t get it. They learned how to use it in school and that’s all they know. It takes me 10 times as long to get it all setup, then if you change anything it breaks your setup and you have to do it all over again. Bah. It’s trying to be too much and do everything, then on top of that there are multiple flavors, so it makes it a pain to work with someone else that is sporting a different version. Come on. I’m all for open source, but this thing is out of control.