Eclipse tortures its users. I'm convinced that Eclipse users suffer from Editor Stockholm Syndrome. I HATE Eclipse with a passion, and have gone to great lengths to not have that unreliable "tool" be any part of my development system.
It has burned dozens of hours of productivity as it:
1. CHANGES the configuration of the project every time it loads. Seriously. I had to revert the project every time I ran Eclipse because it would break the configuration (which I originally set up IN Eclipse, so I don't know what was wrong here).
2. Fails to notice important files have changed outside of its knowledge (no auto-refresh). God forbid I change a file in git or in another (decent) editor.
3. Fails to refresh when I hit F5 (randomly the F5 key is or isn't assigned to refresh; I haven't figured out the pattern).
4. Gets stuck and won't build if there's an error it doesn't understand -- and you have to "delete the error" to get it to build. WTF?!
5. C++ support? Really? I tried the recommended plug-in, and despite looking everywhere that made sense, I was unable to figure out how to give it an include path. No one has been able to help me here, either. If it's configurable somewhere, then they sure made it hard to find. So all my "C++ integration" resulted in lots of undefined functions and includes, which was worthless. Needless to say, auto-complete was also worthless, since it couldn't find the definition of my shared_ptr class.
6. WAY too heavy. My favorite editor (SlickEdit) is already too heavy. Eclipse makes it seem light and nimble by comparison! Running the editor only takes about a MINUTE on my laptop, and it eats resources like mad.
7. Important project configuration details are hidden in opaque binary files, so you can't just check your project environment into source control.
8. Some kinds of paths end up being stored in the project as absolute paths, meaning that you can't use relative paths that would work in anyone's repository -- and you can't share those projects between Linux/Mac/Windows at all.
That's off the top of my head. I'm sure there are plenty of issues I'm not remembering.
I went into using Eclipse really, REALLY wanting to like it. It was everything I was looking for -- free, cross-platform, lots of plug-ins for different features, a huge supportive community. But I just can't like something that screws me at every turn, even if it can suggest ways to fix my Java code.
Some of these issues may be caused by a poorly written Android plug-in. I honestly don't know. But it's caused me hours of pain, and many other Android developers I've talked with have similar horror stories.
Using Eclipse to build for Android was almost completely non-deterministic, even when doing CLEAN builds; I gave up on using it to do my Android builds entirely, switching to the Android Ant build process. Which has its own issues...
And Eclipse doesn't support the in-file completion I'm talking about either, though without all the other problems I might have tried to hack something into place.
FYI, I just saw an announcement recently of a Lua plug-in for Eclipse that sounds great. Too bad Eclipse has sucked SO badly for me that I don't even want to try it. They're doing interesting things to try to guess autocompletions in Lua, which is a hard problem to get right.
Also FYI, SlickEdit doesn't come from Redmond. And Developer Studio has a WAY better debugging environment than Eclipse's, hands down, possibly in part because the underlying GDB doesn't support as many features.
If Eclipse works for you, great. The Android development team apparently uses it and likes it. Maybe you know how to use it much better than I, or maybe I'm used to better tools. We'll never know. I know some people still use Notepad or equivalent for coding, which strikes me as insane, and Eclipse is certainly better than that. But Eclipse tortured me daily while I was using it, and I can't imagine going back to it.
Considering Eclipse is "the most popular" editor around, I don't think the barrier to entry is very high. I used it for over a year before giving up on it as useless. For me, having reliable builds is FAR more important than the editor holding my hand with respect to Java syntax. I swear Eclipse is primarily popular EXACTLY because of the latter, since it can act as a crutch for new and junior developers.
I did use Emacs for several years before moving on to something more ergonomic. I still have muscle memory for several of the more common keystrokes.
I haven't really felt like there's been a Truly Great editor available since Brief, which I stopped using because they never upgraded it from DOS to Windows.
It's not about "getting my head" around something. To the contrary, I am very good at picking up new software and using it, whether it's designed well or not.
It's about having seen what a REALLY powerful editor can do for you, and having other editors never really live up to that standard. SlickEdit is close, and even better in some ways than Brief was, but it's not perfect.
So did you actually understand what I wrote? "Stockholm Syndrome" applies when you've been abducted, and you fall in love with (and defend the actions of) your abductor. I'd say you're not disabusing me of my original notion.
"""For me, having reliable builds is FAR more important than the editor holding my hand with respect to Java syntax."""
I don't understand what "reliable builds" means in this context. I never had "unreliable builds" from Eclipse.
Also, what you call "holding your hand" actually is automating tedious manual labor re Java syntax, and continuous AST based syntax checking.
That --and build automation, is exactly what people want from an IDE. If you don't care for those, yeah, use anything else.
I find anything without actual AST-based syntax checking/autocomplete/navigation/refactoring as a dumb text editor, Emacs included.
Now, Eclipse has tons of problems, but that it got right.
It's sad that there is not a modern, GUI based, editor, with pluggable language support for multi-language use, using full AST power (regex highliting and ctags is so last century) while also being lean and mean...
Have you done Android development? Have you ever changed a file outside of Eclipse? That's where the unreliability comes in.
I've said above, and I'll say again: With respect to helping you out with Java, it's really nice. It goes beyond what SlickEdit does, though SlickEdit does a few things for you.
ctags sucks; that's a given. SlickEdit goes beyond simple regex highlighting, but it's not completely AST-based syntax checking etc. Of course Eclipse only gets THAT right in Java, not the languages I actually care about (C++ and Lua).
Most of my coding these days is in Lua. Instead of having an editor write code for me because the syntax includes lots of tedious manual labor, the syntax itself is clean and I write fewer lines of code.
>It's sad that there is not a modern, GUI based, editor, with pluggable language support for multi-language use, using full AST power (regex highliting and ctags is so last century) while also being lean and mean...
Not sure if you're being ironic here, but I think it WOULD be possible. Almost certainly not if it's written in Java, however. You lose "lean and mean" the moment you start up the JVM, IMO.
Another thing I haven't tried is the SlickEdit plug-in for Eclipse:
Though since SlickEdit itself is heavy, I'm not sure that layering one heavy environment on top of another makes any sense. Maybe the plug-in isn't as heavy? Don't know.
It has burned dozens of hours of productivity as it:
1. CHANGES the configuration of the project every time it loads. Seriously. I had to revert the project every time I ran Eclipse because it would break the configuration (which I originally set up IN Eclipse, so I don't know what was wrong here).
2. Fails to notice important files have changed outside of its knowledge (no auto-refresh). God forbid I change a file in git or in another (decent) editor.
3. Fails to refresh when I hit F5 (randomly the F5 key is or isn't assigned to refresh; I haven't figured out the pattern).
4. Gets stuck and won't build if there's an error it doesn't understand -- and you have to "delete the error" to get it to build. WTF?!
5. C++ support? Really? I tried the recommended plug-in, and despite looking everywhere that made sense, I was unable to figure out how to give it an include path. No one has been able to help me here, either. If it's configurable somewhere, then they sure made it hard to find. So all my "C++ integration" resulted in lots of undefined functions and includes, which was worthless. Needless to say, auto-complete was also worthless, since it couldn't find the definition of my shared_ptr class.
6. WAY too heavy. My favorite editor (SlickEdit) is already too heavy. Eclipse makes it seem light and nimble by comparison! Running the editor only takes about a MINUTE on my laptop, and it eats resources like mad.
7. Important project configuration details are hidden in opaque binary files, so you can't just check your project environment into source control.
8. Some kinds of paths end up being stored in the project as absolute paths, meaning that you can't use relative paths that would work in anyone's repository -- and you can't share those projects between Linux/Mac/Windows at all.
That's off the top of my head. I'm sure there are plenty of issues I'm not remembering.
I went into using Eclipse really, REALLY wanting to like it. It was everything I was looking for -- free, cross-platform, lots of plug-ins for different features, a huge supportive community. But I just can't like something that screws me at every turn, even if it can suggest ways to fix my Java code.
Some of these issues may be caused by a poorly written Android plug-in. I honestly don't know. But it's caused me hours of pain, and many other Android developers I've talked with have similar horror stories.
Using Eclipse to build for Android was almost completely non-deterministic, even when doing CLEAN builds; I gave up on using it to do my Android builds entirely, switching to the Android Ant build process. Which has its own issues...
And Eclipse doesn't support the in-file completion I'm talking about either, though without all the other problems I might have tried to hack something into place.
FYI, I just saw an announcement recently of a Lua plug-in for Eclipse that sounds great. Too bad Eclipse has sucked SO badly for me that I don't even want to try it. They're doing interesting things to try to guess autocompletions in Lua, which is a hard problem to get right.
Also FYI, SlickEdit doesn't come from Redmond. And Developer Studio has a WAY better debugging environment than Eclipse's, hands down, possibly in part because the underlying GDB doesn't support as many features.
If Eclipse works for you, great. The Android development team apparently uses it and likes it. Maybe you know how to use it much better than I, or maybe I'm used to better tools. We'll never know. I know some people still use Notepad or equivalent for coding, which strikes me as insane, and Eclipse is certainly better than that. But Eclipse tortured me daily while I was using it, and I can't imagine going back to it.