KludgeCode

is Ben Rudgers

Paul Graham’s Recipe for Pasta

I’ve been reading Paul Graham’s book – or rather reading from it for several months since picking up a used copy on Amazon for about $30. When reading his notes and going back to¬† the text to see what was so important it needed a note, I came across this gem on object oriented programming:

Let’s play that back one more time: we can make all these types of modifications without even looking at the rest of the code. This idea may sound alarmingly familiar to some readers. It is the recipe for spaghetti code.

The object-oriented model makes it easy to build up programs by accretion. What this often means, in practice, is that it provides a structured way to write spaghetti code. This is not necessarily bad, but it is not entirely good either. [Ansi Common Lisp, Paul Graham, 1996, page 408]

I don’t know how far Graham’s views have changed over the last two decades, but there is something there which seems consistent with Rich Hickey’s views. But perhaps only if we ignore “not necessarily bad.”