top | item 5603541

(no title)

dkirkman | 13 years ago

There are a few good reasons that one might prefer common lisp to scheme.

It has been stable for a good long time. Which is nice if you've got a giant repository of old code that you dust off and run from time to time.

CL has a standard way of specifying variable types when you want to do so, so it's possible to write high performance numerical code in a portable (across different compilers) manner. Or write macros to write portable code.

My view on macros is that being code transformers, when you write a macro you are basically writing a quick and dirty compiler. And like everything that's quick and dirty, they are full of bugs and gotchas. The fact that CL has separate function and value namespaces helps with decreasing the gotcha cross-section. The scheme community early on spent a lot of time dealing with this and developing hygienic macros, but as a lisper this just always felt a bit heavy. (This is probably just a lack of exposure).

From my perspective, the appeal of scheme as been its more pure focus on functional programming. But when I'm in that sort of mood I just reach for haskell now.

discuss

order

pnathan|13 years ago

> It has been stable for a good long time. Which is nice if you've got a giant repository of old code that you dust off and run from time to time.

I think CL is one of the few languages that I can see myself using for a decade, continuously, without having to go back and refresh pieces to conform to the latest version & compiler. Not only that, you can essentially reprogram it to keep up with advances in the field.