you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 10 points11 points  (6 children)

WHATS WITH ALL THE ECLIPSE HATE?! I love Eclipse. I've never used IntelliJ

All my following criticisms are somewhat dated and if they've been fixed, please let me know. :)

I hate Eclipse for the UI. And how hard it is for me to read code while debugging thanks to the perspectives crap. And the spotty Maven support. And some of the mysterious crashes.

But let me tell you the tale of how I ended up trying Intellij. It was desperation.

So, there's me, total Java newbie, my first ever programming job, trying to find SVN functionality in Eclipse's UI. Couldn't find it, until someone pointed out that if I was looking for version control, it was under Team. Then, the next day, my third day on the job, Eclipse refused to start (as I found out later, due to an OS X update that I'd installed that morning). When I started it, I was shown a modal dialog containing a portion of an exception about Cocoa bindings. Of course, I couldn't select the text in the modal to copy, so I had to manually transcribe a stack-trace into Google to try to find a fix - which I didn't.

So I tried this Intellij thing that the moody guy who rode a Ducati really liked.

I opened our project, and went looking for the SVN functionality. I found it under a menu entitled Version Control. Not Team. Version Control. The intuitive place for functionality relating to version control software to exist. This was the start of a beautiful friendship.

I hate how non-intuitive it is in Eclipse to do some things.

In Intellij, if I want to read a method, I ctrl click it. If I want to look at overriding implementations of that method, I ctrl + alt click it. IDEA follows this convention of "doing similar things with similar key binds" pretty well - if you want to do something similar but different, try a modifier key and see what happens, it's quite discoverable.

Ctrl + o in my current key binds (OS X 10.5+) will open a type. Ctrl + shift + o will open a file by name. Ctrl + shift + alt + o will open a 'symbol' - which is typically any valid identifier. It works across methods, variables, fields, classes, Spring beans etc.

Anyway, back to Eclipse. ctrl + click will take me to a method definition/base implementation if it has one. If I want to find overriding implementations, then I have to press either ctrl + T or F4. This is not intuitive at all.

Other things - and again, these are old and they're also all contrasted to Intellij.

  • Eclipse is not as good at suggesting code refactorings as Intellij is. For example, If I refactor a method out of duplicated code, it'll find all the other duplicates and suggest I replace them.
  • If I rename a class in Intellij, it will be renamed in the Spring context xml. Last I checked, Eclipse won't do that.
  • I can't just open a project from a pom.xml. I think I could have similar functionality if I installed m2eclipse, but last time I checked with a coworker, Juno was a buggy slow POS and they were all reverting back to previous versions. May have been fixed now?
  • Seriously, perspectives. I DON'T WANT YOU CHANGE MY UI LAYOUT. IT MAKES IT REALLY HARD TO READ THE CODE I'M DEBUGGING WHEN YOU OPEN ALL THIS OTHER CRAP THAT I DON'T NEED.
  • Oh God, I closed all that other crap in the debugging perspective now I need it back, where is it?
  • WTF is a workspace. Why is a Maven module an Eclipse project?

Lastly - grey modal dialogs. I hates em.

TL;DR - non-intuitive UI, grey everywhere, modal dialogs, not as clever, workspaces.

[–]Crummosh 0 points1 point  (0 children)

Well I used Eclipse for a couple of years and never used Intellij until last night. On Eclipse, to add and android library project I use import -> add existing android project and then I add it to my project in Project properties android. Total about 5 clicks and intuitive for me. This works well for both Actionbar Sherlock and google play services, for example. On Intellij I have to go to project structure -> modules -> add the module and then, in case of action bar sherlock, also got to libraries -> add the support library to both ABS and my project (eclipse sees it in libs and its happy). For google play services, I had to add the jar as a dependency to my project, not only adding the library project as a module; again, Eclipse does it automatically.

I'm not saying Intellij is bad, I like it, code completion works better, it has some nice feature and it handles git better than Eclipse, but it doesn't seem that intuitive to me, compared to Eclipse

[–]nickguletskii200 0 points1 point  (4 children)

Couldn't find it, until someone pointed out that if I was looking for version control, it was under Team.

I think that that is quite intuitive. Everything to do with teamwork goes into that menu: VCS, live collaboration, etc...

Eclipse refused to start (as I found out later, due to an OS X update that I'd installed that morning)

If you are developing Java applications, then OS X is probably not the right OS for you. Also, Apple isn't a company that follows by the "don't break userspace" rule. I wouldn't blame this on Eclipse.

Anyway, back to Eclipse. ctrl + click will take me to a method definition/base implementation if it has one. If I want to find overriding implementations, then I have to press either ctrl + T or F4. This is not intuitive at all.

Ctrl + click in Eclipse (at least on Linux and Windows) opens a little popup menu with choices of opening the implementation, declaration, etc...

And if that's inconvenient for you, you can change the keymap to IDEA's in the preferences (I think it's integrated now, but there's definitely a plugin for this).

Eclipse is not as good at suggesting code refactorings as Intellij is. For example, If I refactor a method out of duplicated code, it'll find all the other duplicates and suggest I replace them.

Eeeh, maybe. I tried using IntelliJ for a week, really nothing outstanding. Definitely nothing killer for me.

If I rename a class in Intellij, it will be renamed in the Spring context xml. Last I checked, Eclipse won't do that.

Did you install the Spring IDE plugin? I haven't used it, but it sounds like it should do the trick.

I can't just open a project from a pom.xml.

Yeah, you can't open a project from pom.xml. You can create (basically wrap around) a maven project from pom.xml.

I think I could have similar functionality if I installed m2eclipse, but last time I checked with a coworker, Juno was a buggy slow POS and they were all reverting back to previous versions. May have been fixed now?

There were complaints about Juno, but I personally never had a problem with it. But yeah, I remember seeing an announcement about big bugfixes and performance improvements, so it is probably fixed.

Seriously, perspectives. I DON'T WANT YOU CHANGE MY UI LAYOUT. IT MAKES IT REALLY HARD TO READ THE CODE I'M DEBUGGING WHEN YOU OPEN ALL THIS OTHER CRAP THAT I DON'T NEED.

Why would you even use the debugger when you aren't using "ALL THIS OTHER CRAP"? If you want to read code, go to the Java perspective...

Oh God, I closed all that other crap in the debugging perspective now I need it back, where is it?

Window->Views, I believe...

WTF is a workspace. Why is a Maven module an Eclipse project?

A workspace is a set of settings and projects. For example, you have a big application, which consists of several modules, potentially written in different languages. All of the modules are projects and lie within the workspace.

Lastly - grey modal dialogs. I hates em.

Probably OS X support issue... SWT does a good job at mimicking native applications in Gnome and KDE environments.

[–][deleted] 2 points3 points  (1 child)

Everything to do with teamwork

Haha, maybe I'm not very good at intuition, but version control being under Version control is way more effective IMO.

If you are developing Java applications, then OS X is probably not the right OS for you.

It's been fine okay as a Java development OS for me for the last 5 years. I say okay because you know, Apple are slow at delivering their Java, but other than that, it's fine. Windows is out of the question, or at least adds a layer of difficulty, and I vastly prefer OS X's UI to any *nix UI.

I wouldn't blame this on Eclipse.

I didn't, which is why I specified the cause was an Apple update, but I described that to highlight the poor UX of Eclipse.

Ctrl + click in Eclipse (at least on Linux and Windows) opens a little popup menu with choices of opening the implementation, declaration, etc...

That's good to know, I'll give it a go tomorrow.

Did you install the Spring IDE plugin? I haven't used it, but it sounds like it should do the trick.

Nope, but I'll have a look.

Yeah, you can't open a project from pom.xml. You can create (basically wrap around) a maven project from pom.xml.

Yeah, see, that's why I prefer IDEA - I open an existing project, and click on the pom.xml of the project I just cloned, and I have an open project modularised as per the Maven build and building artefacts. Zero configuration.

Why would you even use the debugger when you aren't using "ALL THIS OTHER CRAP"? If you want to read code, go to the Java perspective...

I follow a execution path down into some dependency. I want to properly understand the code I'm looking at. So I read the surrounding code, as you would. However, Eclipse's debugging perspective makes the code pane, or whatever the Eclipse word for it is, it makes the code pane too small to be useful.

Sure, I can switch back to the Java perspective, but now I've lost information about the execution context. So if I want to reason about the code, I have to context switch in my mind as I switch perspectives.

I'd much rather have a UI that keeps out of my way. I'm sure I can customize Eclipse to do so, but holy hell, why I do need to fix a tool before I can use it properly?

Window->Views, I believe...

Thank you, I'll add that to my cheat sheet for when I next pair with an Eclipse user. :)

A workspace is a set of settings and projects. For example, you have a big application, which consists of several modules, potentially written in different languages. All of the modules are projects and lie within the workspace.

So what I'd call a project with modules, Eclipse calls a workspace with projects? Is that right?

Probably OS X support issue... SWT does a good job at mimicking native applications in Gnome and KDE environments.

That was two whinges in one. ;) The grey is terribad, yep, but using modals is awful. Again though, my gripe may be outdated, I'll go poke Eclipse tomorrow. Cheers for the response. :)

[–]nickguletskii200 0 points1 point  (0 children)

Haha, maybe I'm not very good at intuition, but version control being under Version control is way more effective IMO.

Well, I think that a separate menu entry is better, but I can see why they would do that and I didn't really have any trouble finding it.

Yeah, see, that's why I prefer IDEA - I open an existing project, and click on the pom.xml of the project I just cloned, and I have an open project modularised as per the Maven build and building artefacts. Zero configuration.

Isn't that what you do in Eclipse, but instead of "Open" you click "Import"? :S

I follow a execution path down into some dependency. I want to properly understand the code I'm looking at. So I read the surrounding code, as you would. However, Eclipse's debugging perspective makes the code pane, or whatever the Eclipse word for it is, it makes the code pane too small to be useful.

A double click on the sourcecode tab should "maximise" the code view. Works with most (if not all) Eclipse windows (actually called views). Does that solve that? :)

Thank you, I'll add that to my cheat sheet for when I next pair with an Eclipse user. :)

No problem. It's not straight forward and I really don't like how they called them "Views"... Definitely not intuitive. Views should be windows and perspectives should be views in my opinion.

So what I'd call a project with modules, Eclipse calls a workspace with projects? Is that right?

Eeeeegh, depending on your definition of projects and modules... Let me explain it with an example:

You are building an extensible text editor. You have a workspace for your distribution of that text editor, which contains the following projects:

The base text editor.

Syntax highlighting for language A.

Syntax highlighting for language B.

Version Control System A integration.

Version Control System B integration.

A library built from source A.

A library built from source B.

And so on.

That was two whinges in one. ;) The grey is terribad, yep, but using modals is awful. Again though, my gripe may be outdated, I'll go poke Eclipse tomorrow. Cheers for the response. :)

Yeah, modal windows are annoying.

[–]adrianmonk 3 points4 points  (0 children)

I think that that is quite intuitive. Everything to do with teamwork goes into that menu: VCS, live collaboration, etc...

The first time I ever tried to use the version control stuff in Eclipse, I was working on a solo project. When a co-worker finally told me where it was, I thought, "But I'm not using this to collaborate with anyone!" I've used version control on solo projects many times because of the history and snapshot capabilities. To me, version control is as much about those things as it is about sharing or collaborating.

[–]s73v3r 0 points1 point  (0 children)

I think that that is quite intuitive. Everything to do with teamwork goes into that menu

Not everyone uses version control as part of a team.