Thursday, November 13, 2003

Programs as Literature

Given our recent discussions on Open Source, I just wanted to bring to your attention a great book on reading code, "Code Reading: The Open Source Perspective" by Diomidis Spinelis, Addison-Wesley, 2003, ISBN: 0-201-79940-5. Although I am only into the 2nd chapter, it is an impressive effort and is highly recommended. The key concept is to learn by reading code and he shows us how to do it systematically using numerous examples from Open Source archives. He advocates that reading great code will make you a better developer and I agree. I read a lot of code in the late 70's at Bell Labs tutored by folks like John Mashey and Mike Bianchi who knew Unix backwards and forwards and it served me well.

So the discussion topic is simple (and not only limited to current students), do you read code? How regularly do you read it? Do you do it systematically? Is your code reading above and beyond, "I need to understand this code fragment to make my code work?" Do you read some code purely for education and fun and, if so, in what language?

If you haven't read code for fun, try it! If you do try it, we all would appreciate relating your impressions of the experience on the blog. Later!