I don't know that you should learn to program proficiently in C, but I have often found myself thankful that I can (more or less easily) *read* C. In my experience, this is a useful skill for almost any programmer--especially since a lot of practical algorithm examples are available in C for just about any purpose. I would say, further, that the shortest route to being able to read C is to acquire at least fundamental skill at *writing* C. Heck, you may like it enough to become proficient...or, even more fearsome--tackle C++! :-)