I’m writing some production code in C today.

I don’t need to reach for C very often.  The last time was when I needed to write a service that manipulated video DVD’s and the best way to do that was to use libdvdnav which has a C api.

Today I’m writing a caching server that has some very specific behaviors which unfortunately don’t work correctly with any off-the-shelf HTTP cache I’ve found.  I started writing it in node.js, but ran into some limitations that I couldn’t overcome in node that prevented it from working the way I wanted it to.  I knew I could do what I needed in C, but I’d never written networking software in C before, so I had a bit of a learning curve to overcome.

I wish I could use C more often.  It takes me awhile to get warmed up, but once I get back in the groove, it’s just so powerful, and so non-mysterious. C does what you ask it to, for better or for worse, but I can’t think of a single time that a C program didn’t work and I found the reason outside of the code I wrote.


// jjg

Preposter.us | Github | Twitter | Ello | Google+ | Facebook