![]() |
Wednesday, May 07, 2003 |
Graham Glass calls Lisp "the most underappreciated comupter language", but goes on to say "LISP was an incredible work of art. so simple and so reflexive. but an absolutely crap syntax that doomed it." I don't follow this. It seems to me that the syntax looks like crap because it's so simple and reflexive. It's still really difficult for me to read the
do construct, for example; I think that the "result-form" throws me - it's like having a finally block on a for loop in a C-ish language. But the real power is that everything's so reflexive, and that's the whole point of macros: you write code that gets run, but its output is more code that gets run. That's real code generation as far as I'm concerned. Lisp gives you a fairly natural syntax for generating code. The problem I have learning Lisp is partially not being used to the syntax, but also just getting your head around concepts like macros, and I don't think that you could do something like Lisp macros without the uniform syntax. Maybe once I've learned more about dynamic languages I'll see how you could build an equally powerful language using some more familiar syntax (to programmers with a C/Java background, at least), but right now I think it's a tradeoff that you have to make.3:56:00 PM permalink
![]() |