Pushing the Eclipse IDE Forward

It’s been a crazy week if you follow the ide-dev mailing list at Eclipse. We’ve had many posts over the years discussing our competitive relationship with IntelliJ and the depression that sets in when we try to figure out how to make Eclipse make better so people don’t hate on it so much and then how nothing changes.

This time, though,  sparked by what seemed to be an innocent post by Mickael Istria about yet another claim that IntelliJ has better content assist (which from what I’ve seen, it actually does). This time it sparked a huge conversation with many Eclipse contributors chiming in with their thoughts about where we are with the Eclipse IDE and what needs to be done to make things better. A great summary of the last few days has been captured in a German-language Jaxenter article.

The difference this time is that it’s actually sparked action. Mickael, Pascal Rapicault, and others have switched some of their focus on the low hanging user experience issues and are providing fixes for them. The community has been activated and I love seeing it.

Someone asked why the Architecture Council at Eclipse doesn’t step in and help guide some of this effort and after discussing it at our monthly call, we’ve decided to do just that. Dani Megert and I will revive the UI Guidelines effort and update the current set and extend it to more general user experience guidance. We’ll use the UI Best Practices group mailing list to hold public discussions to help with that. Everyone is welcome to participate. And I’m sure the ide-dev list will continue to be busy as contributors discuss implementation details.

Eclipse became the number one Java IDE with little marketing. Back in the 2000’s developers were hungry for a good Java IDE and since Eclipse was free and easy to set up (yes, unzipping the IDE wasn’t that bad an experience) and worked well, had great static analysis and refactoring, they fell in love with it.

Other IDEs have caught up and in certain areas passed Eclipse and, yes, IntelliJ has become more popular. It’s not because of marketing. Developers decide what they like to use by downloading it and trying it out. As long as we keep our web presence in shape that developers can find the IDE, especially the Java one, and then keep working to make it functionally the best IDE we can, we’ll be able to continue to serve the needs of developers for a long time.

Our best marketing comes from our users. That’s the same with all technology these days. I’d rather hear from someone who’s tried Docker Swarm than believe what the Docker people are telling me (for example). That’s how we got Eclipse to number one, and where we need to focus to keep the ball rolling. And as a contributor community, we’re working hard to get them something good to talk about.

8 thoughts on “Pushing the Eclipse IDE Forward

  1. jillesvangurp

    Good to hear that this topic is being debated at least. As a long time Eclipse user (2003-now), I’ve been more than a bit underwhelmed by the last few releases and frankly I don’t think I’ll stick around much longer unless something changes. At this point I’d be hard pressed to list any significant feature in JDT in recent releases (beyond keeping up with JDK releases), which as a Java developer is really the most visible thing in the IDE. You could put me in front of Eclipse with a file open and I’d have hard time telling Mars apart from Neon (beyond the banner at startup) and I use Eclipse every day. There honestly is not a lot to point to when it comes to major new capabilities or features.

    Whatever is happening in the Eclipse community, it seems to have very little to do with making life better for Java developers. If anything, the IDE feels more buggy than it used to do. I’m having a hard time with content assist lately and my impression is that this used to be more dependable. For example I have static methods with an empty call hierarchy (used hundreds of times), ctrl+space comes up blank inside lambda functions for just about anything.

    I don’t want to discount all the work that’s happening on other plugins except to point out that it seems to mostly not have anything to do with the kind of development I do (Java), which as of yet is still the #1 thing Eclipse is supposed to be doing well and what it is recognized for.

    Things like oomph and the endless amount of window dressing with the theme engine are not the kind of things that get me excited. I mostly just stick to the classic theme, which seems to waste less space and doesn’t look horribly out of place on a mac.

    Frankly oomph is a great example of a feature that is completely meaningless to me. After reading for years about the nth refactoring of the plugin installation infrastructure, I still wipe out my eclipse installation every year because it seems the only sane/documented way to upgrade to the new version. This has never worked any other way as far as I know. Seriously, what other usecase is there for a bloody update manager?

    If there’s an obvious way to do an actual upgrade from within the IDE: I’ve not been able to find it. So every year I go through this routine of wiping out eclipse and then installing the same handful of plugins from the market place. I feel stupid every time. It seems the auto update use case is exclusively about applying the one or two service releases that happen every year.

    The Neon packaging is a step backwards (on OSX at least). It now dumps the installation in a very odd place (what was wrong with /Applications?) with some hard coded defaults. So, my Eclipse setup broke the second I installed a new JDK and I needed command line access to the install dir to fix the hardcoded path to the jdk. Terrible, please undo that madness. At least with Mars it would survive that kind of thing with a simple application restart and I installed with a standard “drag the icon to /Applications”. I don’t see any good reason for Eclipse to require anything else. It’s an application, not an operating system.

    As of yet I’m still an eclipse user but at this point it’s increasingly hard to justify. I’ve got younger colleagues who look at me rather strangely when they figure out I’m not using intellij. For them that’s the no brainer choice. Eclipse is no longer that choice and hasn’t been for quite some time.

    I realize all this may sound whiny but I’m trying to make the valid point that maybe the eclipse community needs to have an honest look at its priorities. Things have gone from bad to worse over the last five years and it seems there’s nobody at the wheel.

    1. mikhail.barg

      @jillesvangurp: I totally agree. I’ve been Eclipse adept since 2002, and currently I just can’t explain to my colleagues, why it should be preferred over netbeans or intellij.

      E4 is well, just broken. There’s still so many regressions compared to E3 platform that I can hardly imagine why stakeholders were pushing towards E4. Anyway, configurable styles is a myth — even the built-in Dark scheme is not consistent.

      @Mickael Istria: I don’t feel like that N&NW that you’ve referred make any real difference in the feel. And regarding m2e that you’ve mentioned, it’s so weird and alien to Java development process that I hardly understand how come it’s an official Eclipse project.

      1. Doug Schaefer Post author

        I’m not sure why people keep mentioning regressions in E4 versus 3.x. We switched to Eclipse 4.x six years ago. And the Eclipse IDE is barely E4 to begin with. It still the same old Workbench that we shipped in 3.x.

        Are the regressions being cause by other changes since 3.x? What are the regressions? I use Eclipse constantly and I don’t see anything major that is getting in my way any more, certainly nothing caused by E4.

        1. mikhail.barg

          Well, if you ask specifically, I’ve faced at least two issues with E4 when I’ve been updating my plugin recently. I found that Commands/Handlers are not working as they should be. See https://github.com/mikhail-barg/moreclipboard/issues/2#issuecomment-224033662 (don’t remember what it was exactly, but it was working in E3 all according to docs — I’ve been comparing behaviour with 3.8). What I do remember is that Actions enabled/disabled state is not being updated in E4 while it was OK in 3.8.

          Also P2 repos have weird cache issues (https://github.com/mikhail-barg/moreclipboard/issues/6). I’m not using Eclipse now as much as I’ve been using it few years ago (and yes, it was CDT mostly), and it was rather painful (and shoking) experience to face a problem after problem with some really basic Platform stuff.

          Anyway, what puzzles me is that official Dark theme is still not usable. It just looks bad and if you happen to open some external plugin view — it would just not fit at all. I know it’s just a visual stuff, but that’s what people see when they try to compare Eclipse with MSVS, or Netbeans or ReSharper/IntelliJ.

          1. Doug Schaefer Post author

            Fair enough. I just don’t remember whether Commands and Theming were actually part of e4, or whether they’re just new APIs and functionality introduced in recent releases.

            Theming in particular have more to do with how it interacts with SWT and the fact not all the artifacts have been given good alternatives in the Dark theme. But the Dark theme efforts didn’t really start until well into the 4.x stream. And they were really started because people said Eclipse looked too old without one. So instead people now complain it’s bad instead of we don’t have one. Not sure which is worse.

          2. mikhail.barg

            Afaik, Commans were there long before E4. And actually I thought that Theming (actually CSS-like styling) is what E4 is all about.

            I thought I’ve been reading that UI modernization/customization was the main reason for stakeholders to push for platform revamp, and at the same time a lot of core developers left platform team.

            And I also remember your posts on UI (https://cdtdoug.ca/2014/08/15/i-have-a-dream-an-eclipse-ui-dream/, https://cdtdoug.ca/2012/09/02/where-do-we-go-from-here/, https://cdtdoug.ca/2011/06/20/a-ui-revolution-is-coming-are-we-ready/)

            (Sorry for off-topic, it probably have little relation to Java IDE challenge)

Leave a Reply