Software Development

Why we dropped Eclipse in favour of IntelliJ

As a background – all of us in Plumbr have all been using Eclipse for as long as we can possibly remember. But when I just looked around in the office I saw our whole team being converted to IntelliJ IDEA users. So what made us to jump the old free-to-ride warhorse and go with something we need to pay up to $600 per seat? If you bear with me I give you several reasons why you could also consider the move.

For years, our friend Anton Arhipov has tried to convince us. He kept failing until he demoed something as simple as ALT+ENTER. Based on the documentation it is not doing much – just using the suggested quick fix. But this feature is backed by something that makes many other IntelliJ features so much more pleasing to use.

Indexing. Whatever the JetBrains guys are doing under the hood, their indexing is blazingly fast and supports different content. This benefits of the fast indexing are paying off in several different usability features:

  • As-you-type code smells and warnings. In Eclipse you have to launch the analyzing manually, in IntelliJ you will have the feedback on those immediately.
  • Code completion and code generation support offered is orders of magnitude better due to the very same indexes.  I guess you all remember the infamous java.awt.List autoimport on Lists which took years to be removed from the “top recommendation”. No such annoyances when using IntelliJ.

    alt-enter-intellij

  • The fixes offered by the ALT+ENTER make sense in so many occasions that it already starts to frighten me. On some cases I have suspected they have an Amazon Mechanical Turk watching me as I type – the recommendations are just so good.

Language support. They way IntelliJ is behaving on different content type feels just natural and uniformed. Whether I am editing a Java, Javascript, HTML or a JPA query – the syntax support is really good and the operations I perform are uniformed across languages. I do not need to learn a set of new shortcuts each time I switch away from Java. And the code completion support, especially in Javascript is something I failed to see in Eclipse. It just wasn’t there.

Perspectives. Or actually, lack of the perspectives. Eclipse tried to offer “the best perspective” for me while I was dealing with different issues at hand. For me it meant that my screen layout got mangled each time I switched from development to debugging or refactoring. It always annoyed me and now having just one extra context-dependent window for the additional operations I feel I have a solution I am actually enjoying

Debugger. It is blazingly fast. And I will not even start with the Eclipse debugging perspective, which has to be someone’s evil joke driving me nuts every time I recall using it. And the feature set is also more pleasant, my favourite being the “Smart step into” which allows me to select which method to step into, if I have a code line with multiple method calls.

Support. Eclipse is built by a foundation. This is not bad per se, but the different interest groups in this foundation make the governing and execution somewhat difficult. For me as a developer it results in support tickets disappearing into a void for weeks. No such problems with IntelliJ where I always have my questions answered in time and without bouncing the topics between different areas of responsibility.

Several minor things I only list some of the recent favourable discoveries:

  • JPA query syntax correctness is being checked as you type. Has saved me a day or two already not having to discover the errors in runtime.
  • Property files integration. While in a property file, I can see where in the source code this property is being used and detect unused properties immediately.
  • Integration with different browsers. To test my HTML, I can launch different browsers right from the IDE itself, so I do not have to go the extra mile (ok, an inch) and open them by myself.
  • CSS colors are visible right from the IDE, so I do not even have to check the browser for this.

IntelliJ-property-file-support

So I can only ensure that after your monthly trial will end there is no going back. But to be fully honest, there is one thing I do miss from the Eclipse as well – the “Save Actions”. If you haven’t used it, this is a possibility to create triggers being launched when you press CTRL+S. So for example I can have the imports organized, code formatted and @Override annotations added without any effort from my side. Haven’t found the IntelliJ equivalent for this one so far.

So, even though we cannot actually measure if we are more productive after the conversion, we are somewhat happier with the tools at hand. And we do believe that a good craftsman has to have the best possible tools in order to create the best possible craft.
 

Reference: Why we dropped Eclipse in favour of IntelliJ from our JCG partner Nikita Salnikov Tarnovski at the Plumbr Blog blog.
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

27 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Valdir Castaldelli Jr
Valdir Castaldelli Jr
11 years ago

My impression about eclipse is that this IDE stoped in time… recently i’ve changed my IDE to NetBeans and despite my initial resistance now turned my favorite IDE.

Henrique Carvalho
Henrique Carvalho
11 years ago

About the save actions, you can use a macro to execute all actions that you need
and bind it to the ctrl+s. It’s not the best solution, but works.

Alex
Alex
11 years ago

I’ll pretend you are joking…
In eclipse you can do all these writing an RCP Plugin. The control+s I did in 5 minutes or so…
I prefer control+s for my local history!!!
Eclipse is my religion!

Kiryl
Kiryl
11 years ago
Reply to  Alex

At my work they don’t pay me for writing plugins. They pay me for doing the job.

Jim C
Jim C
11 years ago
Reply to  Alex

What IntelliJ lacks most is a side by side Utube demo of why it’s better so people can actually see it. It’s the most wonderful thing since sliced bread but it doesn’t sell itself well.

IntelliJ is now the official dev platform for Android, I’ve heard.

Stephan herrmann
Stephan herrmann
11 years ago

Reasons like “drives me nuts” are hard to defeat, but I can tell you my favorite debugging feature:
Ctrl-Alt-Click = “I want to step into that exact method call” – guess which IDE has it…

Leaves us with the observation that many of the differences may simply relate to how you *discover* a particular feature.

Same goes for many of the warnings which JDT issues as you type, IFF enabled (off-by-default).

Etc.pp.

Brian Vosburgh
11 years ago

Minor correction: Dali (part of the Eclipse JavaEE package) provides JPA JPQL syntax (and semantic) validation and code assist. The validation is not “as you type”, but upon “save”. This is performed for queries in both Java annotations and orm.xml mapping files. Also upon “save”, Dali will validate your JPA annotations and orm.xml files against your database schema, notifying you of, for example, invalid table or column names. Dali will also provide you with content assist within your Java annotations and orm.xml files, supplying you with a list of the appropriate database elements to choose from (tables, columns, etc.).

smas
smas
11 years ago

The main question is: who would use Eclipse if it was not free? I’ve noticed that all Intellij users had been using Eclipse before, but it doesn’t work in the opposite way. I don’t know a single developer who came back to Eclipse from Intellij. For me, the strongest Intellij points are: – User experience, – Performance, – Beautiful UI. Simply, It allows me doing what I want in the most effective way, it’s worth spending money. I encourage you guys to spend one weekend with Intellij just to test it. And if you switch, give me $1 – I… Read more »

Mickael
11 years ago

Too bad you didn’t report some of these nice ideas as bugs at http://bugs.eclipse.org . They may have been resolved, and you may have saved 600 $ ;)

developer
developer
11 years ago

If you have some new technology (or not enough support for something already existing) that is not currently supported by any IDE you can: – in case of Eclipse – you can simple prepare proper plugin and use it privately or share with others by sending it to the community to review and when it is interesting it will be merged to the Eclipse stream – in case of IntelliJ – you have to open the “request for change” (or pay for it) and wait, hoping that it gets proper priority to become the part of one of the incoming… Read more »

developer
developer
11 years ago
Reply to  developer

Of course you can also create your own plugins for IntelliJ basing on the available documentation (http://confluence.jetbrains.com/display/IDEADEV/PluginDevelopment). However it will be definitely harder to do than for Eclipse, where you can simply analyze the source code as well as plenty of online documentation/samples

Noopur Gupta
Noopur Gupta
11 years ago

> Debugger: “Smart step into” which allows me to select which method to step into, if I have a code line with multiple method calls.

The Eclipse Java debugger allows you to step into a single method within a series of chained or nested method calls. Simply select the method you wish to step into and select “Step into Selection” from the Java editor context menu. Or, use the shortcut Ctrl+F5.

Manju Mathew
Manju Mathew
11 years ago

Regarding “Integration with different browsers.” : Eclipse do have this feature. Go to preferences -> Web Browser. Choose “Use external web browser”. Here add all the browser you want to test your HTML with. Now select the browser you want your HTML file to be opened with. Now on opening the HTML file from within Eclipse, the selected browser will be used. You can change the browser selection to open the HTML file in a different browser.

Noopur Gupta
Noopur Gupta
11 years ago

> Property files integration: While in a property file, I can see where in the source code this property is being used.
In Eclipse, Ctrl+Click on a property key in the *.properties file shows the places in source code where it is being used and takes you to the referencing code.

wim
wim
11 years ago

Thanks for blogging. It was an interesting read, and indeed, I have heard about some excellent nuggets in IntelliJ. It is a great IDE.

However, your conclusion,

“we are somewhat happier with the tools at hand”

does not really fulfill the big promise you imply in the blog title. And I am sure you could have summed up some more points in favor of Eclipse if you really tried ;)

Your blog is being discussed here:

http://dev.eclipse.org/mhonarc/lists/ide-dev/msg00048.html

developer
developer
11 years ago

Have anyone mentioned about performance of IntelliJ? Maybe Eclipse lacks of some cool shining stuffs, but it works considerably faster. Maybe writing simple application it doesn’t matter, but when you have project consisting of tons of classes, several jvms runing on your local system, some JEE container running on the machine or some DBMS (I’m not thinking about MySQL) to manage data then it starts to be major factor.

Btw. don’t forget about MineRuby here

Triguna
10 years ago

I am an Eclipse user from past 10 years and the one you paid for 600$ all those features are available at eclipse as plugins.. its a matter of patience and search for which you paid 600$ like as if you don’t need to spend time in doing some research to get what you want at Eclipse… Anyways IDE is individual choice.. however when there are things for free available, I would rather don’t pay but pay some time… :-) All the best bro with your new frame of mind.. hope you still love it never come back to Eclipse…… Read more »

Stephen Hyland
Stephen Hyland
9 years ago
Reply to  Triguna

gentlemen, despite my intelligence, education, experience, and age, i have always had difficulties with IDEs.. at 60 i cut my teeth on unix in ’86 with vi.. despite a phd in CS and an MIT degree i wasted weeks on eclipse on various contracts.. it was the bane of my life.. the only worse experience was two years coding in ADA.. then i found intellij.. the free version is spectacular but the ultimate edition includes all languages of substance in a consistent wrapper and allows for a command line guru to use it intuitively.. it is one of the few… Read more »

Ian Schumacher
Ian Schumacher
10 years ago

I find the autocomplete advantage of IDEA to be completely overstated. I use both Eclipse and IDEA and maybe I’m blind, but I don’t really see that big a difference Eclipse autocomplete is good and fast. I’m using IDEA recently for three fairly trivial reasons: 1.) A decent dark theme. 2.) Java 8 support 3.) Search for configuration settings One thing that does mildly annoy me about IDEA is that formatting a document is Ctrl-Alt-L and it pops up a dialog every time. When I code I just type and don’t worry about formatting. That’s one of the advantages of… Read more »

Oto
Oto
10 years ago

If someone show me how to use the same option “display” in debug mode in IntelliJ I will change my mind about the powerfull of eclipse.

For me, this is the most important “extension” by eclipse ide.

Thanks

Stephen McConnell
Stephen McConnell
10 years ago

IDE wars….. mmm haven’t I heard this in soooo many forums?

I love IntelliJ, but the new job uses Eclipse. I’ll go work on Eclipse until I can convert them to IntelliJ. But probably won’t be able to.

So, I use the tool the shop is using. Or program in IntelliJ until they have an SDK tool for Eclipse that I can’t translate to IntelliJ.

It depends upon which IDE you are comfortable with. NetBeans, Eclipse, IntelliJ… heck I have a friend that still uses VIM…… It’s all about religion…..

Stephen McConnell
Stephen McConnell
10 years ago

Oh, I will add a point that maybe has not been mentioned.

When I have a problem with IntellIJ, I write an email and I get a POSITIVE answer within less than 30 minutes. And the person or group stays with me until I get the problem solved.

With Eclipse, I have to post to a forum and then I get surly people that treat you like your are stupid for asking the question.

That’s worth the price of admission any day.

Jonathan
Jonathan
10 years ago

Anyone tried Netbeans before migrating to IDEA ? I’ve been using it for years……

HayrolR
HayrolR
8 years ago

This post start with a title that include Eclipse but it is focused on shows what IntelliJ does well. So, I just have my two cents here: 1. All this stuffs can be done by Eclipse… maybe not fully as the commercial IntelliJ does, but it is for free and it performs everything pretty well. 2. Eclipse still big and active, so you may be sure it will be around for a long. At the end I have not found a real situation that have made me to move to the commercial IDE. And for those writing about NetBeans, well… Read more »

Back to top button