Saw this discussion referenced over at Lambda the Ultimate.
Go read this mailing list entry. It's full of wisdom, I think. Another gem:
Programming is just another name for the lost art of thinking. People are quite capable of thinking, but they do not. If they are taught how to think, they are also taught how to program, and vice versa. It is simply a necessity that people learn to program, it is part of a liberal education.There is so much garbage out there about the Lisp languages and recursion as a technique. People complain about it being used when it's "inefficient" or "obscure". I don't get it. In a time when we are supposed to model our programs in "objects" that reflect the "real world", it is common to denigrate modeling conceptual entities in a natural recursive way, just as they appear in mathematics.