CCAN heads past 50 modules

Several years ago at OSDC::AU I was lucky enough to run into Rusty Russel three breakfasts in a row. He was at the conference to deliver a keynote on why C is awesome and all us scripter types should learn it.

I mentioned that I'd tried a few times to switch to C but I'd found the lack of any kind of CPAN pretty much crushed my soul each time I tried, because I kept wanting to make one because C and Perl are very similar languages (to me at least, compared to things like Python or Java or Haskell).

By the end of the conference he was hooked on the idea, had taken over development of libtap and written 8 or 9 patches for it. A week later we had mailing lists, and a basic design.

Today, CCAN represents what I consider to be the closest cousin of the CPAN.

It has all the things that make CPAN work so well like turing-complete configuration, TAP-based tests that are run at install-time, a Kwalitee-testing system and Alien support, but hasn't hesitated to go a completely different direction when it is better for C developers or to avoid doing things the heavy CPAN way when a much simpler temporary solution is available.

I've limited myself to the occasional comment on the mailing list on high level issues, and generally helped to try and make sure the CCAN doesn't get caught by any of the gotchas that have plagued other language repositories.

After a relatively slow start, today CCAN contains around 55 modules and is starting to pick up a bit more speed. Rusty gave a talk on the CCAN at the recent Linux.Conf.Au which will hopefully bring in some more new blood.

Their dependency graph is starting to build nicely as well, with some modules reaching 6 levels of dependency recursion.

With the recent switch to git, if you program in both Perl and C, now is a great time to take a look at the CCAN.

Leave a comment

About Adam Kennedy

user-pic I blog about Perl.