One thing is for sure, intellij (the dark theme) looks beautiful. Makes me wonder if eclipse should still be spending (wasting?) resources developing their own GUI toolkit.
One thing is for sure, intellij (the dark theme) looks beautiful. Makes me wonder if eclipse should still be spending (wasting?) resources developing their own GUI toolkit.
This could be very hard to fix. Does Eclipse have all the interfaces defined for correct behavior in all cases? how long would it take all the plugin developers to code the implementations for "Is this action sensible on this object?" and have that happen every time the selection changes?
1. Startup time. I just ran it twice on my machine. First time it took 20seconds before showing the splash, then 10 seconds after that (I'd never launched it before). Second time it took over 5 seconds to launch completely
2. Cluttered UI. menu bar + status bar + project explorer + tasks + outline take up between 20 and 70% of the window depending on how big I have the window (god help me if i try to use it on my old laptop with its 1300x700 resolution)
3. Difficulty of editing stand alone files. It's just a pain in the arse editing files that aren't in the project, and that you don't want to be in the project
For comparison, sublime text 2 launches in <1second on the same machine, and that includes restoring 100% of the previous working state, including unsaved changes to all files, even if the computer crashed and it wasn't closed down properly.
edit: I almost forgot
4. It also takes 1-5seconds to close.
To me, it is the difference between a car and a bike. The two serve different purposes.
I don't mean to downplay problems with Eclipse. I remember that it was confusing when I first started using it. In the intervening years, I think the problem with eclipse is one of missed opportunities (or misplaced priorities).
Give me column editing, multiple cursors, and snippets and i will show you an editor i can code a system of any real size with.
It's more about smart refactoring, code completion, extensibility, project management, "open type hierarchy", "show usages", etc. You kind of need these things in big projects. Especially enterprise Java ones.
"Of any real size" - I dispute you've written one that counts.
I might be wrong, I've never worked in something an order of magnitude larger than a few million.
Debugging without the IDE is a huge pain. Finding what functions call a given function, when many functions have the same name (so forget grep), is also something we use very very often to check what impact a change would have. That and "go to definition".
Also you don't need snippets because it has (wait for it) templates! Sample thing, user definable complete with variables to interpolate just like Sublime Text. Been there before ST existed as a product.
I think there is an Eclipse IDE education problem at work here. Discoverability seems to be really low.
On the other hand, I am excited to try this new Android Studio IntelliJ thing, simply because of the hype and people's recommendation that IntelliJ is heaven. If it improves my productivity, then great. If not, I am fine with Eclipse and it looks like they got their wake up call to better their product.
I use SlickEdit for C++ and it starts much faster, but while it can "do" java, its completely ineffective compared to IntelliJ or even eclipse. OTOH IntelliJ occasionally hugs all 8 cpu threads trying to grok spring bean usage across three maven projects. Its a price I'm willing to pay.
And finally theres TextMate and Joe or on these knackered solaris boxes, vim. Can't really beat vim for start-up time, but unlike some of my genius friends, I can't get my head around it for large projects.
My point is, if your use case is open editor, open file, edit file, close file, close editor, then you don't want an IDE, and there are plenty of great editors for your use case.
I don't think startup time or even close-time are particularly important. If you're using an IDE, you shouldn't expect to open it up and close it time and time again in one session, unless...
I think the main pain in the ass you missed about Eclipse is that it crashes a lot. I actually quite liked Eclipse until my project got a tiny bit bigger, and it kept on crashing every few hours. Worse yet, its backups are really bad. You'd think it had some auto-backup facility set on default, but there isn't one that works well enough.
Sublime Text is great, I love it, but its a text editor. If I wasn't a lazy guy I would keep using vim/emacs, but I like mice so I use Sublime Text.
When Sublime Text adds drag and drop refactoring, in app debugging, and the millions of other features required from an "integrated development environment" then startup time would be a more equal comparison.
but comparing eclipse with sublime text is like comparing word to the notepad. a bit unfair.
On a fresh computer, download and install Netbeans 7.3 and Eclipse 4.2. Then check out a Mavenized JSF project from and run it.
Netbeans does Maven and Subversion out of the box, so I don't have to install any plugins. I point it at Tomcat, and it will build and deploy the app for me with one click of a button and zero configuration.
I have never successfully gotten all the plugins and everything necessary to do this with Eclipse working. The member of our team that uses Eclipse deploys wars manually for this reason.
IntelliJ, for what it's worth, also seems to do all of this out of the box (I used it for about a day, and concluded it wasn't enough better than Netbeans).
The easiest way for me to describe Eclipse's problem and why I don't like it is to simply say it is worse. It's fat, slow to start up, slow to use, requires hours of complicated setup to get it to do what you want. Netbeans utterly wrecks it for every use case I have. Outside Java, I use Emacs mostly. I would actually love to get Eclipse working so I can use eclim, but the configuration story is just so horrible. Installing plugins is slow. Choose an update site? Wait five minutes for the UI to respond while it downloads a sitemap? Which of these five plugins is the Subversion plugin I need? What's Mylyn, and do I need integration with it or not? And so forth.
Can you explain the Intellij draw to me? I've spent the last two days off and on look at the community edition via installion and googling and I don't see the killer feature set that everyone is talking about. It looks like a JEdits older brother to me.
"We don't support rectangular selection and probably never will."
A general tip to find features like this: Press Ctrl+3 (Cmd+3 on Mac OS X) or type in the "quick access" search bar in newer Eclipse versions. It shows the command and the shortcut. Also useful for toggling "Show Whitespace Characters" without needing to have the button in the toolbar, jumping to a preference page, etc.
Not sure how IntelliJ compares in this regard.
I will say as someone working with SWT right now that I'm not a fan.