Thursday, July 30, 2009

I'm a C/C++ developer with interests in Linux, embedded systems and mobile application development using Qt framework. So I'm very happy I can do a "one stop shopping" regarding my IDE.

I've been using Eclipse as my IDE of choice for the past two or three years, and I'm very pleased about the release schema the Eclipse foundation has implemented starting in June 2006.

So for 2009 it's the turn of Galileo release (by the way, in 2009 we're celebrating the 400th anniversary of Galileo's work with the telescope and his discoveries with that tool). It's version 3.5 of the environment.

Talking to some colleagues, specially coming from the "C++ world" they're surprised that I use a "Java tool" for developing C++ software. But for me it's OK, it fits my needs pretty well so I can have just one platform with several good tools I use for my everyday work: C/C++ compiler (be minGW or gcc), Qt integration working fine with Eclipse, source code documentation via Doxygen and eclox plug-in, source version control by means of git and the Java Git plugin. What else may I ask for? I feel like a boy playing around in a toy store...

One task from my pending list: share just one Eclipse installation among different OS. It turns out that I have a dual boot PC with Windows and Linux, and in order to save time when adding/updating a plug-in, space (I know, disks aren't expensive those days) or just as a challenge, I would like to have just only one eclipse folder that I can access from any OS (or even as a shared folder for virtual machines). I know that I need to be carefull not to overwrite the files specific for every platform, but for the rest (plugins folders for instance) those files should be shared. Stay tune for more news about this coming soon.

Let me summarize some highlights about the Galileo release:

Pros
Some new features from CDT project (C/C++ Development Tooling) I specially like:
  • You can see rename refactoring working in the editor now. It's pretty cool.
  • The editor provides block selection.
  • Inactive code blocks (blocks affected by #ifdefs) are shown as grayed in the Outline panel. Helpful to know at a glance what code is actually being compiled.
  • Integration for DSF (Debugger Services Framework), a new API for integrating debuggers into Eclipse. I'm willing to try (time permitting, of course) DSF-GDB, the debugger integration contributed by Ericsson)
Cons
  • I didn't find an easy way to update from Ganymede (2008) to Galileo (2009). Maybe it's my lack of knowledge or it's a missing feature. My workaround: remove eclipse folder completely and installed a fresh Galileo package. Since I didn't touch my workspace folder, no settings were lost.
  • Qt integration for Eclipse has its own release schedule/numbering scheme. Maybe Nokia could adjust this for next year's new joint release of Eclipse.