Books of Note

Practical Common
LispThe best intro to start your journey. Excellent coverage of CLOS.

ANSI Common
LispAnother great starting point with a different focus.

Paradigms of Artificial Intelligence
ProgrammingA superb set of Lisp examples. Not just for the AI crowd.

Friday, July 16, 2004

Extensible Programming revisited 

Code Generation Network has an interview with Greg Wilson that is sort of interesting. Generally speaking, I think Wilson has it wrong. He spends a lot of time talking about "extensibility" in both his paper and this interview but never really defines what that is or why it really matters. I think he basically means macros. He spends way too much time talking about XML, which is really irrelevant to the discussion.

A notable quote from the interview is

We've spent the last twenty-five years slowly moving ideas from languages like Smalltalk and Scheme into languages like C (now C++), Java, C#, and so on: objects, garbage collection, reflection... The biggest idea that _hasn't_ been brought over (so far) is extensibility, i.e. the ability to add new constructs to the language to tailor it for your problem domain. If you've worked with Scheme's macro system, you know just how much this can do for you.

As I discussed previously, my first reaction is, "If you want Scheme's macro system, then use Scheme." Rather than trying to bolt all the various Lisp features into an XML-based, blah, blah, blah, maybe we should spend a bit more time trying to simply get over the parenthesis and use Lisp.

Anyway, where Simonyi seems to be on to something in terms of the larger issues, Wilson seems to be suggesting the same sorts of things, but with a weaker voice as he bogs down with junk like XML.

Post a Comment

Links to this post:

Create a Link

This page is powered by Blogger. Isn't yours?