Beautiful Code

Tim Bray, whose work I admire deeply, is being published along with many other great programmers in Beautiful Code. Follow the link to the O’Reilly site to get a sample chapter, “Finding Things”, which happens to be Tim Bray’s, on search, from small to big.

I like the idea of this book, being as it is more about the art and craft of computer programming, rather than the science.

When I was at Aztec Software, we used to have short half-day courses that were run on a volunteer basis. Amongst these courses was one called, if memory serves right, “Industrial Strength Programming”. The first task students were given was to compile the Apache web server – I love courses like this, since they teach by real-world example. In order to get the compile working, a student was forced to go through, and understand, at least a little bit, the Apache makefile, and in the process, encounter some of the decisions the Apache web server team made while designing their build process. We learn by doing, and we learn best when we see how someone else has solved similar problems, understand what judgment calls they had to make, and so gain greater skill in the art and craft of programming.

Wouldn’t it be great if there were college-level computer courses that dissected, let’s say, Apache Tomcat, or PostgreSQL, and so taught students how theoretical computer science concepts could be applied in real projects, and what trade-offs had to be made? Or (nudge, nudge) if someone were to take apart ColdSpring, MG, Fusebox or BlogCFC, explain how they’re structured internally, what design decisions were taken, and why?

We do this every day, in a smaller way, through our blogs and technical articles, but I do believe that a larger, structured course in the art and craft of programming could prove invaluable. This idea first came up a few years ago, in conversation with a very good friend of mine, and one of the most creative technical minds I know, Ramesh Srinivasraghavan, now Head of Research and Development at Aztec Software.

Open source provides invaluable material to learn from, in the form of source code. But that is only half the story – the knowledge and opinions that guide the design of successful software projects are more valuable by far.

Beautiful Code is definitely going on my reading list – as soon as I have some time to read! At the moment, I’m in the throes of preparations for our move to Berkeley, and, of course, tying neat little ribbons on Scorpio code in preparation for the final release.

For reasons beyond my ken, it’s cheaper on Amazon than direct from O’Reilly. Read it!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.