I've had previous dalliances with lisp but it never really struck me as a big enough win to pursue. So it's interesting to see a decent list of distinctive features -- I've gone over it to see what features there are that don't exist in my usual work language, C#. The things off this list which I don't have, couldn't code, and actually want are macros, conditions and restarts, and generic functions. I don't understand MOP enough to comment on, either. I'm pretty sure the rest is either available as libraries, just isn't important enough, or could be coded fairly quickly -- although I'm not sure it'd be wise to try to write common lisp in C#, Greenspun's tenth rule and all. ;)
I do note the PG quote at the bottom of the page -- "the power of Lisp cannot be traced to any single one of them. It is the combination which makes Lisp programming what it is" -- and I can see that unity being very elegant.
But the real standout item is macros. I suppose it's the only unstealable feature. Or rather, those attempts to steal it, like .net DLR Expression Trees, make really ugly code and are never going to be standard programming techniques.
I do note the PG quote at the bottom of the page -- "the power of Lisp cannot be traced to any single one of them. It is the combination which makes Lisp programming what it is" -- and I can see that unity being very elegant.
But the real standout item is macros. I suppose it's the only unstealable feature. Or rather, those attempts to steal it, like .net DLR Expression Trees, make really ugly code and are never going to be standard programming techniques.
Anyway -- thought-provoking. Thanks.