Choosing a C++ ide for Linux, 2012
I've been working in a Linux project for some months involving Java and C++ development. For the Java side, the choose has always been Eclipse, even when it uses near 1 Gb RAM, it works quite smoothly on a big dependency tree involving Eclipse RCP products and plug-ins. At a certain point the C++ part grew big and the traditional, used so far combination of gnome-terminal + multiple Vim editors stop being a suitable option. I had around 30 c++ classes with their headers, and the rest of the huge project .H headers (around 1000, yes 1k). I was tired of open/close vim editors and grep around the whole project tree to find methods and function parameters. Don't understand me wrong, I'm a big fan of Vim and I use it every single day to edit files and modify scripts. It's a wonderful tool, but I think nowadays for certain projects it's not suitable. I come from Java world, so I'm used to write code while analysing classes methods at the same time, using Eclipse auto-completion, navigating from one class to another using classical key combinations (F3 on a class name, Ctr-Shift-R to find classes, etc.); without all these, I found Vim slowed me down a lot. To make it short, I needed a decent IDE for linux so looked for what open source community could offer nowadays:
- Eclipse Juno for C++ : seems the natural option when developing Java, why not using for C++ as well? Well, the C/C++ parser eats so much memory it becomes unusable. And for each unresolved variable it underscores red the whole line. The Mylyn plug-in started crashing also. Not an option if you want to keep your computer running for days.
- CodeLite: I tried to make it run on my linux default installation (Suse SLES 11) without success.
- Gedit: it provides syntax highlighting and that's all. Too simplistic
- Geany: it has more options that Gedit, finds variable along the source file and has a handy built-in shell.
- Netbeans 7.2: my final choose. It provides full c++ syntax support and a lightning fast parser able to handle and navigate through headers without sweating. Really good work. And even ships with a built-in shell terminal shell too.