Thoughts on software, programming, music, and education. And other stuff.

Tuesday, June 5, 2012

CodeLite - a very nice free C/C++ IDE

From time to time I do a bit of C/C++ development, and I appreciate the benefits of using an IDE to automate tedious aspects of development such as build automation.

In the past I've used Eclipse CDT, which is fairly nice, but quite heavyweight. I poked around with Code::Blocks a few years ago, but it had some rough edges.

Imagine my surprise to discover CodeLite, a surprisingly functional and full-featured IDE. It's implemented using wxWidgets, so it runs on Linux (as well as Windows and MacOS X). With very little effort I was able to create a skeleton wxWidgets project and hack on it. The code completion is based on ctags, and works surprisingly well. There is also support for using Clang for code completion, although I haven't tried that. CodeLite even includes some support for refactoring: I was able to use it to rename some C++ member variables without much difficulty. CodeLite generates a makefile which does proper dependency tracking and can take advantage of multicore and hyperthreaded CPUs.

In addition to using CodeLite on my main laptop (Core i3, 8 GB RAM), I have been using CodeLite on our kitchen laptop, which is an old Dell Inspiron 600M with a 1.8 GHz Pentium 4M and 1.5 GB of RAM. It works just fine on this old hardware. Very useful for occasional 5-minute hacking sessions between drawing, watching Electric Company, dancing, and other things my 2- and 4-year olds like doing.