CDT, Towards World Domination

Big smiley planted in the title of this one BTW.

I’ve been working on the CDT for coming up on 8 years now. It’s been quite a long journey, and what keeps me motivated is that I don’t see the end in sight yet. For CDT to be successful, the companies and individuals using CDT need to be successful. And until I see everyone happy with it, our job isn’t done.

Now there are a lot of successes already today. CDT is still a key part of the IDE strategy for a huge handful of platform vendors, especially in the embedded and mobile space. And we have nearly 600,000 downloads of CDT, so I assume the downloaders are being successful (or they’re having disk problems and need to download it all the time, maybe). But if things were so rosy, I wouldn’t be hearing all the complaints about CDT and Eclipse in general that I do.

The biggest complaint I get from the user community is how hard it is to set up CDT for their platform, especially developers using Windows. That’s where Wascana comes in. There’s also a variety of environments that don’t come with out of the box support, like Qt and Mac Cocoa.

Commercially, a lot of what I hear is about customers who would still rather use command line tools than our commercial IDEs. That tells me two things. One, that these people just don’t like change or learning new things. But more importantly, it tells me we don’t provide sufficient cost/benefit for them to make the jump. And really, the benefit has to be much greater than the cost and that means not simply doing the same things you can with the command line, but taking it to a next level that an Integrated Development Environment gives you. I joke with the product managers here at Wind that we need to put the capital back in the ‘I’ in integrated. I’m not joking…

So to help bring the nay-sayers on board, my strategy with the CDT is to make it ubiquitous. I’d like to see as many developers as possible in the world able to used it, and like to use it. That way, when we come to them with a commercial offering, CDT in the product becomes a value point.

Ensuring the CDT works out of the box is a big part of that strategy, especially for platforms that don’t have commercial support. Linux is covered very well by the Linux Tools project at Eclipse, Wascana for Windows, and I am trying to find time to get it working well for Mac (Objective-C support included). Qt is a natural for cross platform development, so is CMake and Autotools build environments. And I’m helping with CDT support for Android native development. These are things CDT should support out of the box to enable my plan for world domination :). And that’s what motivates me to keep plugging away.