Re:[Ask HN]: Clojure - why the optimism?
by hga on Sunday January 24, 2010 @11:34AM
(#1073418)
To continue to my favorite Lisp family prior to discovering Clojure (and who knows, it still may end up being my favorite :-), Scheme:
Is less old and has a less dysfunctional community:
Like Clojure, the community took the opportunity to dispense with a variety of old cruft that's still in Common Lisp. It has a couple of processes that push the standard forward; the one for base language changes has been very slow prior to R6RS, but even that moves a lot faster than Common Lisp, which is essentially stuck in amber.
Although the process that produced R6RS seems to have been largely rejected by the community (as well as the product) ... so we'll see what the R7RS effort comes up with.
Scheme implementations are less standardized that Common Lisp ones, and this matters in some important ways, e.g. there's no accepted standard for modules (packages/namespaces/whatever). Frequently it takes some effort to port code between the different implementations because non-standardized features like threads were used (which Common Lisp doesn't have a standard for either).
No one's ever figured out a widely accepted FFI for either, so Clojure wins big there.
Many would say the Scheme language standard is too small and Common Lisp too big; Clojure aims to be just right.
Is less old and has a less dysfunctional community:
Like Clojure, the community took the opportunity to dispense with a variety of old cruft that's still in Common Lisp. It has a couple of processes that push the standard forward; the one for base language changes has been very slow prior to R6RS, but even that moves a lot faster than Common Lisp, which is essentially stuck in amber.
Although the process that produced R6RS seems to have been largely rejected by the community (as well as the product) ... so we'll see what the R7RS effort comes up with.
Scheme implementations are less standardized that Common Lisp ones, and this matters in some important ways, e.g. there's no accepted standard for modules (packages/namespaces/whatever). Frequently it takes some effort to port code between the different implementations because non-standardized features like threads were used (which Common Lisp doesn't have a standard for either).
No one's ever figured out a widely accepted FFI for either, so Clojure wins big there.
Many would say the Scheme language standard is too small and Common Lisp too big; Clojure aims to be just right.