English and C
Somebody I know gave an interesting hypothesis. Good English language (or, maybe, any language) skills go hand-in-hand with good programming skills. Though I have not put this to rigorous test, I have reasons to believe that this is true.
Programming is nothing but communicating to the computer. Language is a way to communicate to people. Every good programmer knows that its not syntax but capability to design the, well, communique which makes her program a success; Shakespeare would vouch.
So, maybe, a programmer would be greatly helped by reading literature. And a good programmer should be able to communicate to people as well.
Maybe some of us just find computers to be better company!