Monday, September 18, 2006

Reading Notes on Postmodern Programming, finally

I've had Notes on Postmodern Programming by Noble and Biddle sitting on my laptop for a couple of years now. And I'm finally reading it. Makes for a very interesting read, and is able to articulate some things I've intuitively felt. However, I'm a bit surprised at their classification of Common Lisp as a modern (rather than post-modern) programming language. Is there really a grand nerrative running through Common Lisp? I can think of two features: the list and the lambda. But, stealing ideas from the paper, I would argue that Common Lisp is post-modern, and incorporates ideas from earlier Lisps, which were (more) modern. Lists and Lambda's both live in a world that includes reader macros and macros that have the ability to change the look of the language. Then there's CLOS, streams, lexical and dynamic scoping... All these features for me add up to a language without a single unifying idea, and therefore capable of expressing a wide variety of them.