Monthly Archive for October, 2011

What Is Your Java IDE?

After a long break in posting in this technology blog, I will start sharing things with you again. This time, I’ll start with a simple topic: Java IDE. Following this post, I hope I can share lots more useful and exciting stuff for you.

I have been a long fan of Eclipse IDE. For some Java developers, Eclipse can be a religion that is taken for granted. There are obviously some reasons behind this. Eclipse is free thus saving the souls of those who really count each penny they spend for their toys. Additionally, its richness in third party plugins, which is an equivalent expression for broad range of support from software/API vendors, oftentimes make Eclipse the first choice of Java IDE.

Nevertheless, you may agree with me that one aspect Eclipse is lacking is the usability. When talking about usability, I don’t necessarily mean the interface is horrible. Eclipse is intuitive enough and it can satisfy most of your development needs, until one point where you think you should find another alternative. I have found out that Eclipse can be cumbersome when it is used for multi-module big Java projects. To be more specific, big, multi-module Java projects that use Maven for the build management instead of ant do not really play satisfyingly well under Eclipse.

Recently, I started using IntelliJ IDEA, an IDE from JetBrains. I don’t want to excessively praise this IDE but there are some rooms where this IDE rocks and beats Eclipse, severely and predominantly. In Eclipse for example, it is not straightforward to create a hierarchical multi-module POM-based projects. In contrast, multi-module hierarchical POM-based projects are easy to create in IntelliJ IDEA. IntelliJ IDEA’s intellisense, or auto-complete feature, is also awesome. The breadth of languages and XML structure it supports is unexpected. Coding Groovy in Eclipse can be non-intuitive but IntelliJ IDEA provides seamless intellisense support for Groovy. Even the POM file structure can easily created, modified, and analyzed with the builtin intellisense. The presence of this feature will undoubtedly increase your productivity. There are some other nice features but I will let you find them by trying this IDE by yourself if you haven’t got your hands dirty with it before.

Now, back to the original question. What is your Java IDE? And let’s make this question more interesting: What is the best Java IDE that you ever knew?