Thursday, October 11, 2012
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.
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.
Thursday, February 2, 2012
CloudCoder, a web-based programming exercise system
Well, I haven't updated my blog in a really long time, so here goes...
Jaime Spacco and I have been working on a web-based programming exercise system called CloudCoder. We've finally reached the point where it's ready for students to use. I wrote up a web page that explains the basic idea (for students in the CS 101 course at York College):
We made CloudCoder available under an open source license (AGPL v3), and the code is on Github:
Jaime Spacco and I have been working on a web-based programming exercise system called CloudCoder. We've finally reached the point where it's ready for students to use. I wrote up a web page that explains the basic idea (for students in the CS 101 course at York College):
http://faculty.ycp.edu/~dhovemey/spring2012/cs101/cloudCoder.htmlI'm planning to use CloudCoder to assign exercises to accompany each reading assignment. The idea is to give students a concrete way to test their own understanding of the material. I'm also hoping that if students try a problem, and have trouble with it, they will use the opportunity to attend office hours or a tutoring session. We'll see how it works out.
We made CloudCoder available under an open source license (AGPL v3), and the code is on Github:
https://github.com/daveho/CloudCoderThere are definitely some rough edges, but it is usable. If you want to know more, you can drop me a line.
Subscribe to:
Posts (Atom)