koraktor's $stdout

Random snippets about programming and more

A word on IDEs

What would be a good start for a blog about programming? I’ll start with IDEs.

I won’t start off a fanboy war here. That wouldn’t be a good start for my blog I think. I just want to summarize my experiences with IDEs.

Let’s start with Eclipse. Anyone knows it, almost anyone has used it and most of them still use it. Eclipse is for IDEs what Windows is for operating systems – a quasi standard. To be honest I don’t like Eclipse. It’s a good IDE for sure – lots of useful plugins, lots of configuration options and so on. But it lacks real style – just like Windows ;). Even changing colors is a pain in the a** and I don’t like coding with a white background. Another downside of Eclipse for me is it’s pretty focused on Java development, although there are lots of plugins that integrate new languages, but it just doesn’t feel right – although there are other Eclipse-based IDEs like RadRails that have better support for other languages. On a side note Eclipse has a guite good support for Subversion, but when I switched to Git this bonus didn’t count anymore.

Next one I tried was NetBeans. It has a more slick UI, but more or less it makes the same mistakes as Eclipse – but worse. :) At least when it comes to the integration of other languages or tools like Maven. But, and that’s a plus, it doesn’t feel like patchwork software, when you have lots of plugins installed. Nevertheless it always felt strange and so I used NetBeans as a mere editor while using the console to get other things done.

My current IDE instead is JetBrains IntelliJ (for Java) and RubyMine (for Ruby). The one real catch with JetBrains IDEs is that they aren’t free – there’s a community edition of IntelliJ and free trials for the other ones that are good for testing. If you’re into open source programming – like me – you’ll find it useful that JetBrains offers free licenses for open source projects which is really great. To make it short: JetBrains IDEs are just nice. They come full-featured for the language they are designed for (IntelliJ is are more general approach like Eclipse, although it is a Java IDE by design) and can be extended with lots of plugins. There are (working!) plugins for most of the common SCMs like Subversion and Git and even more exotic features like Freemarker support which make JetBrains IDEs really stand out. Additionally, there are several things that just work in JetBrains IDEs that gave me a headache in others, e.g. handling of line endings on different operating systems and code formatting. And I think all those small bits make it really comfortable to work.

Right now I’m using IntelliJ and RubyMine for the development of Steam Condenser and I’m waiting for another open source license for PhpStorm as I’m using a simple editor for the PHP implementation. At the moment I can’t imagine changing my IDE again as I have never been so comfortable with one. So as a conclusion I just can recommend JetBrains IDEs. And no, I’m not paid for this. :)