Dear Eclipse
- January 23rd, 2010
- Posted in Development
- Write comment
It’s over, we’re done. No need to come by and collect your stuff. Your workspace is already in the trash. There’s no trace you were even here.
I still remember when I first gave you a shot. I had tried other IDE’s, but all they seemed to offer where headaches. Vim and Ant simply worked better.
But then you came along, with compile as you type and amazing CVS integration. Suddenly, my collection of a half dozen command line utilities were reduced to one. I was so taken with SWT and it’s ability to look native on each platform, that I even wrote an entire application in it.
My love only grew when I took a professional development job. I had to use Windows, you made it possible to get something done. But looking back, that’s also when our relationship started to crack. We switched from CVS to SVN, negating one of the greatest advantages you had.
I switched jobs again and this time I was introduced to Intellij IDEA. Sure it was nice, but it didn’t compare to you. It’s version control integration was confusing. It didn’t support all features and languages you did, and it’s auto-compile just didn’t work as nicely. I stuck with you.
But the cracks that appeared earlier started growing. Each new feature you supported and every new plugin written for you never seemed to work right. Everything had rough edges, caveats, and felt distinct from everything else in the system.
You just didn’t take care of yourself. As computers got faster, you got slower. Every editor seems slow to respond to keyboard input. The XML editor is the single worst editor I have ever used. Typing in your IDE shouldn’t feel like telneting over a dial-up connection. You started bloating up to the size of a beached whale in a sad attempt to be everything to everyone. While you allowed everyone to attach to you, you forgot about what made you great in the first place, Java development.
You didn’t keep up with the best practices. You don’t work well with maven projects. Refactoring doesn’t work across the entire workspace. You should never ask me for the location of the source for a class when it is in your workspace. It’s 2010, these are things you should do right by now.
One of your great features was the ability to use external editors for resources managed by the IDE. Unfortunately, whether or not that file was refreshed in the workspace seemed like a decision that rested in God’s hands.
Lets not even talk about version control. The subclipse/subversive split was a disaster and your git support is a joke. You once replaced my entire stack of tools. Now to get anything done, I now have to open a bunch of terminals, gitx, textmate, and you.
Remember that other IDE I played around with? It’s kept itself in shape. It looks better than it ever has. It never promised to do everything, and that’s left it with few wrinkles and sharp edges. It works with a Maven project structure, has real support for Git, and does a fantastic job of editing Java. And now it’s open source too, just like you.
That’s why it’s over. It’s always sad to see something with so much promise ruined by neglect and bloat. But it is what it is and it’s time to move on.
This is my blog about programming. For random stuff, checkout my
We’re sorry to lose you. And while we’re not able to come over and collect our things (I believe we left some of our favourite CDs in your sitting room), I’d appreciate it if you could indulge a few parting questions. I understand if you just don’t have the time or inclination to answer, but I’d still like to ask. We really do care and do want to make things better. It helps when we get specific direction.
Frankly, I do almost everything in Eclipse. You could say that I’m biased in that direction, and you’d be right. However, I feel that I am very functional doing Java, OSGi, PHP, HTML, XML development using plug-ins that come entirely from Eclipse projects. I find the performance of the various editors to be exactly where I need it to be. Performance is one of those things that almost every project at Eclipse (especially the Platform team) dedicates significant cycles to.
What sort of development do you do. Which editors, specifically, are causing you grief? What kind of of hardware are you running? Is ijust that they’re slow in your particular configuration, or are there other issues?
It’s true that we’ve taken far too long to jump onto Git. We have, however, been working hard on that problem over the last few months. In fact, just today, the eGit project announced that they’re providing downloads of their Eclipse/Git integration.
Something cool from that notice is the fact that they’re using Maven to build the JGit parts of eGit using some technology from the m2eclipse project. m2eclipse is not currently being developed at eclipse.org, but it will be soon.
AFAIK, refactoring does work across an entire workspace. In fact, with the ability to record refactorings, you can make it work across workspaces. Can you relate your experience with more detail? I’d like to understand where it’s breaking down.
Under what conditions is Eclipse asking for the location of a source file?
If you can answer any of these questions, I’d really appreciate it. We can only make Eclipse better if we’re able to drive your feedback to the developers.
Dear Tejus,
I still remember when we first met and how you said that you were so much in love with me. You did not even give your former sweethearts a second look although I bet you were surprised that I knew Ant too (remember how I was able to hide her from you?)
I treasure the memories of those days when we together probed CVS and how we built our first native looking Java app together. My god, you could not stop talking about me and you introduced me to all your friends.
In the early days it seemed that all we needed was each other. But I really think that your appetite only started with your high school girlfriend, what’s her name? Vim? Yeah, that’s right.
I watched you surfing the net looking for ever more functionality on who-knows-how-many creepy websites. You even did it in my internal web browser for crying out loud. It was not me that became sloppy, it was you. You stopped caring. You made me digest one crappy written plug-in after the other. You just were not happy with the way things were. Did I ever ask for anything?
Was the SVN support really that bad? Was this really the reason you had to leave me like this? I thought you meant it when you said that that IDEA toots was not for you. But you could not stop looking at her could you? Let me ask you. Who showed her and that other IDE the way? Yeah, you really think I don’t know you have been looking at that other one too? Why do you think she and that little bimbo have become so good looking? It was me who set the trend and it will be me again.
What do you mean with the refresh? Are we going to dwell on the details now? If you really, really cared, you would have found the setting in my preferences. But no, you expect me to everything by myself. Well let me tell you a little secret darling: I cannot do everything. Reading minds is one of them. You stopped talking, even though many ears were listening in my newsgroups.
Maven, Git. It’s all you talk about. These tools are not even mature themselves but you expect me to provide support when you need it. And if I can’t deliver right away you dump me like a load of bricks? What have you ever done for me? How many bugs did you file? How many patches have you created?
But still, I will be waiting. And you will be back. You know it and I know it. Just wait when I put my new summer dress on….
@Wayne,
The “Dark Side of the Moon” CD was a gift. I’m keeping it.
I’m running OSX on a modern 15″ BMP and primarily do web development with the vast majority of the server side code in Java. In the last few years, I’ve pretty much only been running Eclipse on modern hardware. The period when I liked it the best was when I used Linux.
The two editors that drove me nuts the most were the JS editor (which would always crash on large files) and the XML editor (which always seemed to lag the keystroke by about 300ms). These problems may be fixed now, I haven’t gone back and checked since I started using Textmate for those tasks. I also do a fair amount of Ruby and shell scripting, but again use Textmate. I’ve tried using Eclipse on these tasks, but the third party plugins have been horrendous.
Along with the standard J2EE eclipse build, I also have the JBoss tools and egit plugins installed. I believe that JBoss tools includes some editors that may be causing some of my problems. I’ve used egit, but it was too rudimentary.
The biggest issue for me in recent weeks has been refactoring. This is not entirely eclipse’s fault, but it renders Eclipse completely unusable. Our project doesn’t have a top level pom.xml. If I have two modules, Common and Dependent (that references common), running “mvn eclipse:eclipse” will link Dependent to Common.jar, not the Common project. Now, if I refactor in Common, it doesn’t perform the changes in Dependent. Once I “mvn install” Common, Dependent will have a bunch of errors. Likewise, if I dig into a Common class referenced from Dependent, Eclipse will ask me for the source path. Intellij seems to do it right. I believe that this is because it builds it’s own internal model of source dependencies separate from Maven. This may be more of a philosophical difference than a bug.
I haven’t confirmed this myself, but a few other developers I’ve spoken with say that parent projects do not build with Galileo, but do with Ganymede. This may be a related problem, since I don’t remember being this frustrated in the past.
Another bug is that Eclipse only seems to refresh the workspace (when autorefresh is set) when Eclipse is in focus. This may be an osx problem and I haven’t been able to reliably reproduce it.
Undoubtably, the Eclipse team works very hard on the project. It shows with the quality of the Eclipse.org maintained plugins. Hopefully moving projects such as m2eclipse under the umbrella will bring them up to the same standard and help Eclipse regain a sense of consistency. Unfortunately, one still needs 3rd party plugins in most modern Java environments.
Thanks for reaching out. The Eclipse users in my life will enjoy having a better product and relish the opportunity to gloat about how wrong I am.
Eclipse,
I’m sorry it’s come to this, but it’s over. We know the same people and they’ve all been whispering about how you’ve let yourself go. I know you were gorging on all the plugins when I wasn’t around. Your default build gets bigger every year.
Sure I knew about the checkbox, I had it checked. But you wouldn’t always do what it said. Maybe it wasn’t your fault. With all the junk who can really tell?
None of that really matters though. My IDE is my lifeblood. It needs to put the reliability of my Toyota to shame. You don’t anymore. Which is why it’s time to move on.