Clojure for Schemers
10 Jun 2012Recently I found a video of an interesting presentation by David Nolen (homepage, blog) (comparing the Clojure programming language with Scheme (Racket). Some important points made in the talk are:
- The Little Schemer, The Seasoned Schemer, and The Reasoned Schemer are great Q&A-style books for getting to grips with the Scheme programming language.
- Clojure does not support optimisation of tail-recursion leading to stack overflows. However one can use lazy sequences instead.
- Clojure does not support continuations.
- The frequent destructuring of data using car and cdr in Scheme is cumbersome. Clojure on the other hand has syntax support for various immutable data structures (lists, vectors, hashes, and sets) which makes for more readable code.
- Clojure is a great platform for exploring concurrency (atoms, refs, agents, promises, and futures).
David Nolen concludes that it is not a question of either/or.
See also:
- Web pages
- Books
- Software
- Talks