How is IntelliJ better than Eclipse?

  • I know there have been questions like What is your favorite editor/IDE?, but none of them have answered this question: Why spend the money on IntelliJ when Eclipse is free?

    I'm personally a big IntelliJ fan, but I haven't really tried Eclipse. I've used IntelliJ for projects that were Java, JSP, HTML/CSS, Javascript, PHP, and Actionscript, and the latest version, 9, has been excellent for all of them.

    Many coworkers in the past have told me that they believe Eclipse to be "pretty much the same" as IntelliJ, but, to counter that point, I've occasionally sat behind a developer using Eclipse who's seemed comparably inefficient (to accomplish roughly the same task), and I haven't experienced this with IntelliJ. They may be on par feature-by-feature but features can be ruined by a poor user experience, and I wonder if it's possible that IntelliJ is easier to pick up and discover time-saving features.

    For users who are already familiar with Eclipse, on top of the real cost of IntelliJ, there is also the cost of time spent learning the new app. Eclipse gets a lot of users who simply don't want to spend $250 on an IDE.

    If IntelliJ really could help my team be more productive, how could I sell it to them? For those users who've tried both, I'd be very interested in specific pros or cons either way.

    You may be seeing some selection bias here. An IntelliJ customer is much more likely to learn the features and shortcuts than your average Eclipse user.

    I would not push others to use the tools that work for you. This is highly subjective, and stupid things like these can ruin an already established relationship. If you have a choice of using either IntelliJ or Eclipse, and the project compiles just fine using either - knock yourself out, use IntelliJ. If you want to promote it, then casually mention it when the time is right. Adults hate it as much as kids do when others try to make decisions for them. You can still get them to switch, but it has to be "THEIR" decision, and so you just need to make right amt of buzz at the right tm.

    @Job, I agree with that. I'd like to find out A) if IntelliJ has a real advantage over Eclipse, so that B) if it does, I can sell it, not mandate it.

    You do realize IntelliJ has a free version right? You can't make it sound like the **only** option is the paid for version

    @TheLQ, you are right, for brevity I assumed that users familiar with IntelliJ would also be familiar with the limitations of the free version. I've personally never had a project where it was any use, as I've always needed more than just the pure Java component.

    @crucifiedsoul All that says is what platforms they are available for.

    There is now a free (free as in beer) version of IDEA called Community edition. However it lacks most of the advanced support like Spring and Hibernate.

    @JuhaSyrjälä Now free as in freedom too.

  • Gary Rowe

    Gary Rowe Correct answer

    10 years ago

    I work with Intellij (9.0.4 Ultimate) and Eclipse (Helios) every day and Intellij beats Eclipse every time.

    How? Because Intellij indexes the world and everything just works intuitively. I can navigate around my code base much, much faster in Intellij. F3 (type definition) works on everything - Java, JavaScript, XML, XSD, Android, Spring contexts. Refactoring works everywhere and is totally reliable (I've had issues with Eclipse messing up my source in strange ways). CTRL+G (where used) works everywhere. CTRL+T (implementations) keeps track of the most common instances that I use and shows them first.

    Code completion and renaming suggestions are so clever that it's only when you go back to Eclipse that you realise how much it was doing for you. For example, consider reading a resource from the classpath by typing getResourceAsStream("/ at this point Intellij will be showing you a list of possible files that are currently available on the classpath and you can quickly drill down to the one you want. Eclipse - nope.

    The (out of the box) Spring plugin for Intellij is vastly superior to SpringIDE mainly due to their code inspections. If I've missed out classes or spelled something wrong then I'm getting a red block in the corner and red ink just where the problem lies. Eclipse - a bit, sort of.

    Overall, Intellij builds up a lot of knowledge about your application and then uses that knowledge to help you write better code, faster.

    Don't get me wrong, I love Eclipse to bits. For the price, there is no substitute and I recommend it to my clients in the absence of Intellij. But once I'd trialled Intellij, it paid for itself within a week so I bought it, and each of the major upgrades since. I've never looked back.

    Exactly what I was looking for. One question though, I think I've got a few different key mappings than you. Can you clarify what the functions you are talking about are?

    The keymaps are from the Eclipse mapping. Ctrl G finds all references to a method, Ctrl T finds implementations of interfaces and so on.

    You can set IntelliJ to use Eclipse shortcuts? That might just be the last push I need to really give IntelliJ a go - my muscle memory was holding me back. Thanks for the tip!

    @yatima2975 No worries. Just look in the preferences, filter on "keymap" and select Eclipse. You've got Emacs and a bunch of others too.

    On my Linux machine, I recently switched from Eclipse to IntelliJ IDEA Community Edition (open source and completely free) for a Java/Android project and I had the same good experience. IDEA is simply fantastic. Download it here: http://www.jetbrains.com/idea/free_java_ide.html . As JetBrains is claiming, IDEA is the most intelligent Java IDE on the market. Don't get me wrong, either: I use and love Eclipse, NetBeans and Qt Creator IDEs, as well (depending on the task and language at hand).

    I'll add an emphasis on the javascript support as well as other front end languages. Intellij includes WebStorm, which by itself is fantastic for front end.

License under CC-BY-SA with attribution


Content dated before 6/26/2020 9:53 AM