mardi 6 mai 2014

Eclipse vs Netbeans (or vs all the rest, not just IntelliJ)

I'm wondering why a lot of projects are still using Eclipse. Really, it's been a matter of choice in the past. It isn't anymore.

Eclipse is old and bloated, doesn't get basic things right, while all other IDEs got them long ago.

Here and there, you can find someone saying that IntelliJ is much better. It is, but it isn't the only one. You still have multiple valid choices. The truly bad choice is Eclipse, and it should be avoided at all cost:
  • Eclipse *doesn't* support maven well. It tries to read the project configuration and update some internal configuration from it. Doing it right, as other IDEs do, just involves using the damn pom.xml as is, and actually run mavan for any operation: compiling, building in general, even running. Eclipse still has its own build path etc. True, it works sometimes. That's not good enough, it really lock you in basic project configurations, as Eclipse doesn't get it right if you make your pom.xml too complex.

    It looks like there is no abstraction on what a project is, everything is an Eclipse project.
  • Eclipse doesn't get multitasking right. Just think of the "progress" (or lack of...) tab and the dreaded "Building project..." which takes ages when you have some "save actions" enabled and a big project.
  • Lots of exceptions, NullPointerExceptions or others, random behavior. This could happen in any IDE, but I see it twice a year in Netbeans, multiple times a day in Eclipse.
  • Eclipse looks like a bunch of plugins with very varying quality, global coherence is limited.
  • Eclipse can detect some simple programming errors. Netbeans or IntelliJ can correct them.
I use Netbeans daily, and there is no comparison. I tried IntelliJ and I am quite open to it, but I don't see the point of paying for features similar to the ones I get for free in Netbeans. I even had a quite good experience with JDeveloper (yes, I've been one of the few users). It looks to me that all 3 are good tools that you can use daily. In comparison, Eclipse looks like a broken toy.