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.
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.
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.
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.
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.
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.
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 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.
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.
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...
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.
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.
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.
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.
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.
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.
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.
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 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.
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.
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.
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 :(
90 comments
[ 0.28 ms ] story [ 180 ms ] threadhttp://www.sep.com/sep-blog/2013/10/17/android-studio-not-re...
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.
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.
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.
I guess it takes like 15 seconds to start up, but who actually cares about that?
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.
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.
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.
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.
IntelliJ is irritating to use even when it doesn't crash during launch.
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.
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.
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...
(I'm not trying to be snarky and I apologize if the above comes off that way.)
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.
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.
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.
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.
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.
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.
Fair dues on the plugins; my own frustration with the plugin architecture is probably just my own frustration :).
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.
They delivered a number of options but none of them make sense to me. Sublime Text's key binding is much nicer.
Why does a tool that is explicitly a platform for plugins have such a bad plugin UI?
(I don't think it's slow)
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).
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 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 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.
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
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.
It's doable, I've done it, but it's not a quick process.