90 comments

[ 0.28 ms ] story [ 180 ms ] thread
what about android development?
Android development now uses (or is in the progress of moving to) Android Studio, an IntelliJ based IDE.
I think the fact that they are moving to an IntelliJ-based IDE for Android Studio confirms how bad Eclipse really is.
(comment deleted)
I have tried several times to shift to android studio for development but everytime I have to come back to eclipse. Whatever I do, it just doesn't work, it always messes up something and code doesn't work (which works perfectly fine on Eclipse). What good an IDE is, if I can't compile a simple project on it.
Intellij IDEA has an Android plugin, which is so good that Google adopted that as Android Studio, their officially supported Android development environment. Note that Android Studio isn't fully complete or comparable to Eclipse and Eclipse's ADT plugin yet, but it's quickly and steadily improving, thanks to Google.
Infant Android Studio is already better than grown-up Eclipse.
If you plan to use the best-of-breed Android testing tools (namely Robolectric), Android Studio is not ready for serious use. Eclipse is not great, but at least everything works. I am optimist about the future of Android Studio (and the switch to Gradle), but if I were starting a new Android project today, I would still stick with Eclipse - you will avoid a lot of headaches and hacky workarounds.

http://www.sep.com/sep-blog/2013/10/17/android-studio-not-re...

When I first started looking at Android development, Eclipse's plugin system was so buggy it put me off Android development for a year or so.

Eclipse has gotten a little better than how it used to be. I initially used it when doing Android programming. I eventually weened myself off it. The main reason was it was just too slow. Another reason is it has dozens if not hundreds of shortcuts, which I always seemed to be inadvertently tripping over. I would go from programming to undoing whatever change had just been inadvertently made, which sometimes was not easy. There are shortcut disable features, but then you face the array of option menus to deal with that.

It was bad enough that I now just use ant, emacs, adb and the like to do everything. I have not launched Eclipse for months. The last thing left was getting the IDE to automatically stick in imports of packages used in the code, but some tweaking of emacs and JDEE have enough of that functionality so that my one remaining reason to use Eclipse is gone.

That's funny, many of the embedded chipmakers are finally standardizing on Eclipse, which means I don't have to relearn a new proprietary IDE when we change chipsets. In that sense Eclipse is way better than environments written 10+ years ago. That's Eclipse's biggest strength at the moment.

I wish there was a Sublime-based IDE with visual debugging support. As a low level developer I still need immediate access to watch windows, memory and registers, and that prevents me from using Sublime for anything more than code refactoring.

Then, design in an Atmel part and enter the odd world of Visual Studio Shell
I don't like Eclipse either. Are there any good general-purpose open-source IDEs like Eclipse, but without the cruft? And for those who've used both, is JetBrain's PyCharm significantly better than the PyDev plugin for Eclipse?
For me, Komodo IDE has been amazing for the past few years. The free Edit version is great too, but needs a lot of plugins to reach feature parity (if at all) with its big brother. It's autocomplete and analysis for scripting languages is tops though. The XUL user interface toolkit means it even looks awesome and native under something like Elementary OS, much to my surprise.
Komodo is next to useless for autocompleting custom PHP or JavaScript code ie code in the project itself rather than a framework/library). The JS handling in the IDEA products is not perfect but its much better than Komodo’s and the PHP support is phenominal by comparison.

  >  is JetBrain's PyCharm significantly better than the PyDev plugin for Eclipse?
Yes. As it happens -- in almost all ways, and it's under rapid and sustained development. I can wholeheartedly recommend it as a general purpose Python IDE.
I have been using PyCharm for the past few weeks now, and boy its sleek ! However, there is another Python IDE launched recently called Spyder which looks promising too.
Spyder and PyCharm don't really compete and only minimally overlap. PyCharm is an Integrate Development Environment designed for writing large python applications, with particular support for python web applications.

Spyder (which has been around since 2009) on the other hand is an Interactive Development Environment focusing mainly on scientific computing and interactive data analysis and exploration, with lots of handy tools for poking around in and plotting data.

Both are great, but they target different uses and complement each other rather than directly compete.

PyDev knows flask.ext.* . Community version of PyCharm doesn't. If you're doing flask development, it can be annoying.
I keep on meaning to give IntelliJ a whirl. I got my boss to purchase a license when they were doing a special several months back. But I just haven't made the time to configure everything to work with my existing projects and learn their way of doing things.
(comment deleted)
Absolutely agree. I switched to IntelliJ 3 years ago and have never looked back.
I have literally no problems with Eclipse, been using it for years. I use stock Eclipse with the PHP and Team Concert plugins added.

I guess it takes like 15 seconds to start up, but who actually cares about that?

I used the eclipse-based zend studio for years, was perfectly satisfied using it for all my php projects. Then I tried phpstorm, and i found myself unable to return. The biggest thing for me was that phpstorm made me notice how slow zend studio was, and once i saw it i couldn't stop seeing it. On small projects you don't notice it as much, but all the eclipse-based IDE's i tried ground to a halt on our 500k line php codebase, and phpstorm made me realize this was not an intrinsic aspect of php ide's.
I have literally no problems with Eclipse, been using it for years.

Regardless of whether we're talking about Eclipse or some other tool here, one often doesn't recognize the pain points they experience if they don't have any perspective on other ways of doing it.

Your coding may vary, but Eclipse has always done well by me.
What a load of crock. I thought we were over this sort of nonsense. It's 2013 for crying out loud. Next up: vim vs emacs. Windows vs *nix. Your dick vs mine.

If you like eclipse, use it. If you don't like it, stay away from it. Should you try something new every once in a while? Of course, you're a developer, trying out new things should be a matter of course. Should you share your new find with others? Of course! Should you claim that your latest gem is da bomb and that friends don't let friends use yesterday's socks? No.

You are right, a comparison article with actual feature set comparisons or performance metrics would have been better than "eclipse slow, use IntelliJ".
I would agree, but for the chance that anyone (the 1 in 10,000, insert relevant XKCD link here) hasn't heard of IntelliJ and uses Eclipse out of habit, then this post is worth it.

p.s. I think Eclipse is really great, indispensable for Java EE / Spring and even Scala projects, once you know to avoid it's HD / CPU killing quirks, but I use IDEA for my day to day work instead, had it had all things being equal, its killer trait for me is that it's simply faster.

I switched a year ago and the usability improvement is substantial. This isn't vim vs. emacs, this is emacs vs. MS Wordpad. Is it perfect, no, but it is so much better than Eclipse. Eclipse is one tool for all jobs which makes the UI very clunky and not very intuitive. Even C++ developers on our team when switching back and forth between Eclipse and Visual Studio (we do cross-platform development) would loath at their time using Eclipse. I used to defend it, but not any more. Sure, maybe this will turn into an Android vs. iPhone debate, but let someone use IntelliJ for 6 months (after having experience with Eclipse) and tell me how many people want to switch back.
I wanted to switch back after about 9 months with IntelliJ. But anyway, why would you care how many people want to switch back! To each his own...
I agree with you mostly: I hate these sorts of x is better than y editor war commentaries, but this one does make an important point: Eclipse is slow.

And it is slow. Not slow compared to IntelliJ. Not slow compared to NetBeans. Slow compared to Eclipse 3. The UI refactorings they did in Eclipse 4 have turned it into a trainwreck on any of my machines, to the point where I still use Eclipse 3 for my day-to-day development.

Eclipse 4 remains noticeably slower for me on Windows and almost unusable on Mac OS. The thought of having to run it on SunOS or AIX makes me choke up with fear. That Eclipse 3.8 updated their icon to be identical to Eclipse 4 means that I have a landmine disguised as a lovely field in my task bar.

I hope people keep trumpeting this because every developer and foundation member I've heard from are in denial about this.

A lot of shops dictate tools. Eclipse is free. No brainer for management. But it's a piece of shit. No doubt for developers.
Blog spam?

IntelliJ is irritating to use even when it doesn't crash during launch.

If you have repeated crashes, please report them to JetBrains.

I had a problem with intelliJ crashing on some Scala code, sent them the logs and they said they were aware of the problem and that a fix was almost ready for deployment. I've never had a bad customer experience from the company.

In one of our projects the largest JS file is 12k lines. In eclipse I can work with it no problems. In WebStorm/other JetBrains IDE it runs like a dog with that file open, I ran away screaming after 15 seconds.

Inability to be able to effective edit my files is a major problem, though I'm interested if anyone knows how to speed WebStorm up for JS files. If that were resolved I'd be very happy to switch to flee Eclipse's git functionality.

Before someone says it "reduce the size of the file" is not an answer. In answer to split the file and re-make it in a build step, why on Earth should I have to get around a shortcoming in a tool? Tools are there to make me more productive, not dance when the music starts.

Gotta ask. Why do you have a 12K line JS file?
Because it's a relatively large JavaScript library. Total line count is in the several hundreds of thousands.

The file in question is for this class http://jgraph.github.io/mxgraph/docs/js-api/files/view/mxGra....

1) It's the main public API to the the library, there's no logical way to split it.

2) We'd have a couple of thousand, very-annoyed-cos-they-paid-quite-a-lot-for-it customers, frankly, go apeshit if we split the file and broke their app on the next update because we wanted to switch IDE...

This is a third party library or your own? Why can't you break it into multiple files and concat them with a build step?
He could if he wanted to, but he doesn't want to have a maintainable library.
Even if it isnt a part of the normal build, a separate one that does that would help immensely. AMD makes this ridiculously easy, and grunt etc will help him even further.
To clarify, you feel that using Eclipse is more work than breaking a file into multiple shards and setting up a build process to recombine them?

(I'm not trying to be snarky and I apologize if the above comes off that way.)

Contemporary javascript development without a build step?
Well yeah, if you have to use one specific editor because the file is larger than most can handle that should be a signal that the file is the problem.

I for one think that developing a project in multiple files that can all be understood on their own is the only sane way to develop at all, regardless of editor choice.

(comment deleted)
It's slow because of the code quality inspections. You can override these per file by clicking the Sherlock Holmes icon in the statusbar.
His name is Hector the Inspector.
It's also slow the first time you use it because it pre-indexes a lot of things. Once it is finished indexing it is generally quite snappy.
I was working with a 50k line JS file the other day (compiled ember project) and opened it in Sublime. The difference in time between opening a 50k line file and a 5 line file is a little less than half a second. Otherwise, performance is identical.
But Sublime is not an IDE, it's a text editor.
This is probably abundantly clear, but someone has to say it. You need to refactor that beast and split it out into separate files for development. Add a build process to smash it all together for you. End of story.
I couldn't agree more. I don't work with Java, but when I had to, I used Eclipse. People kept telling me about how great it is, how powerful and how it just works. I didn't see any of that. I found the UX non-intuitive, the UI is pretty laggy (even on this year's Ivy Bridge) and the DE for languages other than Java were lacking (CDT was awful and useless).

The best IDE I have used is Visual Studio. I no longer work with IDEs, I prefer a text editor like Sublime Text, but I wish it had debugging capabilities, some refactoring/file management and more powerful plugins.

Several years ago I switched to Eclipse from IDEA, because I was developing Eclipse-based IDE. I still own IDEA license, periodically upgrade it and do some tasks there, but cannot switch back on fulltime. Currently I'm using latest STS package being very productive in it and I don't experience the slowness (well, not more often than in IDEA), bugs or usability issues that are mentioned in this article. It's definitely not the right tool for some of the tasks, but, in general, "don't use" is a too emotional and irrelevant advice.
I have tried to love Eclipse several times over the years but every time I try it to see if it has improved, it is still the same awkward, buggy, unstable environment it was the previous time I tried it. Obviously many people use and apparently like it but the user experience leaves a lot to be desired, particularly for a product that has been around for so long.

I have no strong preferences in IDEs (I use a mixture of Xcode, Sublime, and Vim for code) but Eclipse quickly irritates me to the point where I stop using it.

(comment deleted)
Eclipse isn't slow, it's really that their plugin framework is extremely complicated and writing fast plugins is difficult. It's important to note that everything within eclipse (even their Java editor) is done as a plugin.

I've been using Eclipse for a long time and I'm fine with it. It has a lot of quirks and can be difficult to learn them, but it gets the job done. For me, moving to IntelliJ isn't really an option as my codebase has languages that aren't supported by the IntelliJ, which would mean I'd get no code support for that or I'd have to use a second editor.

Eclipse is nice as it has plugins for about every language out there. They may not be great all the time, but having them all in a single IDE is nice.

"their plugin framework is extremely complicated"

This (along with the terrible plugin management UI)is the most annoying thing about a product that is just a host for plugins. I suspect it's the reason Google moved to IDEA for the Android IDE.

No, I remember reading that JetBrains offered to help Google develop the IDEA plugin. With Eclipse it would have been a solo effort.

I have written Eclipse plugins (one with a graph editor as well) and didn't find it all that complicated. I haven't written an IntelliJ plugin, so can't compare.

JetBrains support is interesting. But given that Google bought Instantiations, and had much sunk effort in the Android plugin (not just code, but documentation and training) there has to more too it. I think IBM reducing their support to the Eclipse foundation must have had something to do with it.

Fair dues on the plugins; my own frustration with the plugin architecture is probably just my own frustration :).

I looked into IDEA when that was announced, I can't figure out at all why a smart outfit like Google would do such a thing. Eclipse is very sophisticated and complete. Unreal.
(I've never developed an Eclipse plugin, I've just looked at it from a high level. Mainly tracking down issues with various plugins).

I'm not sure what kind of plugin you created, but have you dealt with creating an editor for a language? The issues I've seen is that to populate various views you have to use an event system. When you start having to work with a lot of different views and populating it with various data it starts to open up holes where things can start to slow down. Then depending on the type of events you throw, other plugins have react to them and cause certain operations (like a save or recompile) to slow things down a bit.

Jetbrains is much nicer than eclipse. However, one thing that I hate is their key bindings.

They delivered a number of options but none of them make sense to me. Sublime Text's key binding is much nicer.

It's pretty easy (like 10 minutes effort) to set up your keybindings IDEA.
Eclipse isn't that bad. It's not the best but you can get job done with it and it is much better than what existed 10 years ago. I think the article is exaggerating.
If it's not the best, why would you bother getting the job done with it when you could be having a better experience?
I use Eclipse everyday, wrote plugins in the past, and the one thing I've never understood:

Why does a tool that is explicitly a platform for plugins have such a bad plugin UI?

(I don't think it's slow)

I don't get the Eclipse hate at all. I have used both Eclipse and IntelliJ and I much prefer Eclipse's overall interface. It was also much faster than IntelliJ on a very large Scala project that I was working on.

Despite that, I think IntelliJ is a pretty cool IDE too. Its interface has recently received an overhaul and I am sure they would have been improving the speed as well (I haven't checked).

I switched to vi (vim) a number of years ago after a number of years writing Java with Eclipse (& JBuilder).

At first I thought it would be difficult to do without auto-completion. But it's not much of a loss after all. One learns and adapts.

I like that I can work on any host that has vi, which all actually do.

I love myself some vim whenever I get the chance, but to me, it is not auto-completion that is the killer feature of IDEs; rather, it is the immediate error checking that I get as I type code.
There are a number of auto-completion plugins for vim. So even that isn't a loss. There's also Syntastic for syntax checking.

I found the biggest benefit of using vim is the fact that I don't have to switch between different IDEs for different languages. I can use vim for everything.

I love how in Eclipse when I edit something and it's wrong I get a nice little red X icon even before I hit Ctrl+S so right away I know something is wrong. If that error affects other files, the affected files in the Package View light up too. It's as easy to refactor 1 file as 1000. I use vi for quick edits of files but not my precious Java code.
This article cuts off right when it should be getting to the meat: What are my options? How do they compare?
Half a dozen yeas ago, my investment bank team was too cheap to pay for an IntelliJ license so I was stuck with Eclipse. I'm finally enjoying IntelliJ because these days I use Rubymine. I do have TextMate, but IntelliJ's product just makes sense, performs well, and also saves me some time.
I like IDEA a lot but I ended up going back to Eclipse because it's so much better at hotswap than IDEA. It's baffling to me that the talented engineers at JetBrains still force me to restart my servers all the time for changes that are explicitly documented in the JLS as hotswappable.

I restart servers all the time throughout the days, all the nice things that IDEA offers still do not make up for the fact that in Eclipse, I hardly have to restart any process ever as long as the changes I made to my Java code are hotswappable.

There's that and the fact that Eclipse's incremental compilation is hard to give up (another thing I don't understand why IDEA hasn't caught up to).

At any rate, anyone who says that one of these two IDE's is awesome while the other one sucks probably needs to take a hard look at the way they work and question their skill at assessing tools.

Have you looked at JRebel?
Yes, JRebel is great but not free.
Have you tried exploded deployment? I don't have a problem with it usually
I tried both exploded deployment (artifact) and through Maven (tomcat:run), no difference: IDEA pretends it has reloaded the new code but it hasn't, so I lost trust in it completely and now I just restart all the time. It's much more efficient with Eclipse.
Just face it. Eclipse is no longer an IDE. Eclipse has an IDE too, but Eclipse is no longer just an IDE.

It is the Eclipse Foundation and Eclipse Platform, comprised of various projects like Eclipse Modeling Framework, Mylyn, Scout, EGit, BIRT, etc. They are packaged in different editions (popularly called the release train) and incidentally produce an IDE.

To be serious, they are so damn focused on selling a Platform, whereas all I need is just an IDE. Want to know why JetBrains is kicking their ass with a paid product? Its because they stick to building a coherent IDE. Not a platform full of projects which magically get integrated together to form a half-assed IDE.

Sorry did I say IDE?

Edit: I feel Eclipse is a classic example of what happens to a project when it loses its original direction and tries to be everything else at the same time, except what it was originally meant for.

Edit 2: Typo

Eclipse was never just an IDE it has always been a platform. At its inception it was a framework for building IDEs by IBM. If you think the different editions of Eclipse are baffling, make sure to check out the different Rational branded Eclipse-based IDEs. There you'll find not just myriad J2EE IDEs but also IDEs for building software on p- and iSeries.

Around Eclipse 3.0, it really just became an OSGI container. So it's been an excellent pluggable framework longer than it's been a very usable Java IDE. And has been used to build plenty of non-IDE toolings like IBM Jazz.

You may complain about this "platform", but it's also the reason for its popularity. I can build a plug-in that works in Eclipse 3 and 4, almost all of the IBM products (some of them disable plug-in loading for unknown reasons), MyEclipse, JBoss IDE, Adobe FlashBuilder, Wolfram Workbench... etc. That's a very compelling position for an ISV.

Also, please don't conflate the Eclipse Platform with the Eclipse Foundation. What the Foundation does has only a little overlap with the Eclipse Java IDE itself. Its breadth does not indicate crazy feature creep on the part of the IDE; that the Eclipse Foundation supports (say) Hudson doesn't mean that suddenly you'll have a CI server in your IDE.

Say what you will about SWT, but Eclipse's font rendering (use of hints, etc.) on Linux is great. As much as I tried to look past it (and tweak settings ad infinitum), the inferior font rendering of Java-based IDEs is intolerable for me :(
I agree. To get good Linux font rendering on Java one has to apply a patch to OpenJDK and build it.

It's doable, I've done it, but it's not a quick process.