About Nadav Azaria

Intellij vs. Eclipse

Choosing the right IDE can make you or break you as a coder. Most developers would be lost without the comfort of their preferred IDE, which takes care of classpath, make files, command line arguments, etc. The problematic dependence on the IDE, while very beneficial, is off topic and a discussion for another post. We concentrate on 2 main platforms, Eclipse and Intellij Community Edition, comparing them, mainly in the Java SE context. Disclosure: Nadav uses Intellij on a regular basis, and Roi uses Eclipse.

Walking through history lane, Eclipse is around since 2001, while the real major release was Eclipse 3.0 in 2004. It began as an IBM project, but current members of the Eclipse Foundation range from Oracle to Google. Current release is Eclipse Indigo 3.7, and it is licensed under the Eclipse Public License. Intellij is part of the JetBrains, which was founded in 2000 as a private company. Intellij for Java was first released in 2001, and the Community Edition supports Java, Groovy and Scala, and its free and open source under the Apache 2.0 license.

We use Java as our main development language. Each developer chooses its own IDE. War between the IDE’s is waging around us, starting from our school days and University, and extends to our current workplace. While each side is certain in his righteousness, we believe there is no right or wrong answer, but rather choosing the right platform for your needs and challenges, taking into account the kind of programmer you are. We would like to share our own experience on when to use each. So here we go:

Plugins: Eclipse marketplace offers 1,276 plugins, and the Intellij Plugin Repository offers 727 plugins. This difference is not to be taken lightly, since plugins for new technologies will usually be developed mainly for Eclipse (e.g. Android, Drools, Activiti, etc). Moreover, Eclipse is easier to extend. When working on a specific technology most chances are that if a plugin exists, it will be an Eclipse plugin.

Multiple projects: This is an Eclipse winner for sure. It has the ability to open multiple projects in the same window, giving the coder control over dependencies and relations. Intellij has an option to open one project with multiple modules, but we found it to be cumbersome, and in times a little buggy. If you are going to use a lot of projects together and hate to switch windows, Eclipse is your choice.

Multiple languages: We have stated that we will only examine the Intellij Community Edition that supports Java, Groovy and Scala. However, if you plan to create a Python server, combined with Ajax & Html, joint with a java web server, or any other exotic language combinations, than Eclipse is your choice.

Code completion & inspection: While Eclipse has the ability to add plugins such as checkstyle, this one definitely goes for Intellij. The default code completion and assistance in Intellij is faster and better. If you are a rookie developer, Intellij can improve your code.

Usability: Intellij user experience is much easier to grasp. The learning curve in Intellij is by far faster. It seems using Intellij makes developing easier and more natural. Dropdowns, code completion, quick view, project wizards, etc, are all possible both in Eclipse and Intellij, but the experience in Intellij is much more satisfying.

Performance: The more plugins are installed on the IDE, the more heavy it is for your computer. However, saying that, Eclipse handles very large projects faster. Moreover, both of the IDE’s seems to be RAM junkies. Projects usually open faster in Eclipse, as Intellij indexes the entire project on startup, but while working on an existing project, Intellij works smoother. For example we have a huge SOAP project, which is impossible to work on with Intellij, so some of us even learn Eclipse just for that.

Repository integration: Both of the IDE’s have SVN\GIT\etc plugins. No doubt Intellij’s plugin is more reliable, has better GUI and easier to use.

GUI builder: We found that the built in Intellij GUI builder is more comfortable, and as mentioned above, usability wise its easier to learn, and more enjoyable to develop.

For a conclusion, a programmer should be able to find the right tool given a specific task. This means that one should be acquainted with both of the IDE’s, in order to face the challenge with the right tool.

My first job after graduation was at a big corporation where Eclipse was the mandatory IDE and I’ve used it for years. I should have grown used to Eclipse but frankly it doesn’t hold a candle to NetBeans.

If only for the Profiler and you should still be using NetBeans.

Can’t comment much about IDEA, I’ve barely used it and I would never buy a 400 euro commercial license for an IDE.

I’ve used Netbeans, Eclipse, and IDEA, but only IDEA that runs faster on my laptop. Buggy? yes; no J2EE on Community Edition? yes; but I still use it and I do J2EE with it. Too bad it costs too much for me, but thanks that there is Community Edition

I’ve worked with Eclipse, IntelliJ IDEA, and NetBeans. I love the way NetBeans provides its Maven integration, and prefer to work in NetBeans over the other two IDEs. It is a very usable and capable IDE with over 1 million active users. I use it on Java SE and EE web/web sevice projects for large multi-national customers.

I used eclipse for java/scala, but it’s a shit for Web development (HTML/Javascript/CSS, ohh and yes, Aptana is a TOY). I tried rubymine and webstorm and its light years better than I ever see (NB/Eclipse and I tried more than 20 editor for html/js/css). For java and scala I never tried to use IntelliJ (ok, I tried, but I lost in the project administration).

For NB guys: I tried some version of NB. The integration functionality (ex: maven integration) it’s better than eclipse, but the editor is a toy… sry guys, i try to switch many-many times, but in the real development (where you WRITE the code, not clickety click) the NB bleed to death…

(This is MY experience and oppinions and I not want to insult anyone, and I not want to generate Eclipse vs IntelliJ vs NB flame)

IntelliJ is MUCH better than eclipse (used eclipse for over 10 years).

About plugins: it is not imporatnt how many plugins you have but the plugin QUALITY and how they collaborate. IntelliJ have a LOT of stuff already on the board so you do not need a plugin … what more it works.

If you are profi, I think it is a worth to buy a GOOD IDE … it is a small money amount when you calculate time spent to brings eclipse with plugins live, update eclipse/plugins etc.

I try to like Eclipse. I really do… but can someone tell me how to get it to autocomplete package names in ANY xml file, like I can in IDEA? I even installed some rhino XML plugin thinking that would help and it didn’t help. For example, if I’m in a MyBatis mapper file and I type

<mapper namespace="foo.bar. — Should allow autocomplete !

but I can't get Eclipse to autocomplete in XML files other than maybe some specific files (like my spring configs.) One thing I noticed about IDEA is that 'stuff just works everywhere' You don't even realize how much time is saved until you start using it.

We use IntelliJ Ultimate several years now. Once you used it you will not want to come back to eclipse. Intellij is just far more elegant. Let me list my favourite things:

* Refactoring – it is really amazing. IntelliJ knows every dependency in all frameworks and is able to find all occureences of a thing to be renamed no matter if in JSPs, Facelets any XML file and of course code and comments

* Autocompletion – IntelliJ knows all Spring Beans, all Managed Beans, perfectly knows how to autocomplete JPA Query Language, Hibernate Query Language, SQL. It automatically detects Strings which are defined to be used with JPA. It knows all Tables and rows in the mapping.

* High Integration – IntelliJ has support for all major frameworks and APIs. You dont have to bother with low quality plugins which have strong dependencies to each other.

I used Eclipse for several years (RCP Dev) and I think IntelliJ is far better.

I think comparing Eclipse with IntelliJ Community is a little pointless: I do not choose my tools because they are cheap, I choose them for their productivity boost. It’s irrelevant if IntelliJ costs something, the question is: Is it worth my money? Is it worth to trade my free IDE (NB and Eclipse) against a ~200$ IDE? And, as I also tried NB, the answer is YES.

I have been using Eclipse over 10 years since 2002. By the end of 2012 I switched to IDEA CE. Even the CE version is much better than Eclipse for a couple of reasons. First, IDEA is much much much much more stable than Eclipse and you don’t see quirk issues with IDEA, secondly IDEA has fewer but much much better plugins, Eclipse has thousands of poor plugins and often those plugins conflicts. Lastly, I work a lot on Mac OSX, Eclipse’s key binding is shit on Mac, even CMD+G does not work. Comparing IDEA with Eclipse is like comparing a Ferrari California to a Ford Focus.

if we are talking about GUI , ease, configurabality, nice looking, usability, plugins, JEE, ..etc we are talking about ECLIPSE. IDEA is faster in search and better in autocompleteion (in most cases but not in all).

Newsletter

Join them now to gain exclusive access to the latest news in the Java world, as well as insights about Android, Scala, Groovy and other related technologies.

Email address:

Join Us

With 1,043,221 monthly unique visitors and over 500 authors we are placed among the top Java related sites around. Constantly being on the lookout for partners; we encourage you to join us. So If you have a blog with unique and interesting content then you should check out our JCG partners program. You can also be a guest writer for Java Code Geeks and hone your writing skills!

Disclaimer

All trademarks and registered trademarks appearing on Examples Java Code Geeks are the property of their respective owners. Java is a trademark or registered trademark of Oracle Corporation in the United States and other countries. Examples Java Code Geeks is not connected to Oracle Corporation and is not sponsored by Oracle Corporation.