A Road to Lisp: Which Lisp

191 points · 150 comments on HN · read original →

Points and comments are a snapshot, not live.

Lisp is a family of dialects; beginners can pick any active one.

The article compares Common Lisp, Clojure, and Racket for newcomers. Common Lisp (1994 ANSI standard) offers native compilation via SBCL, a condition/restart system, and the CLOS object system but lacks backward-compatibility guarantees. Clojure targets the JVM with immutable data, persistent structures, and concurrency primitives; it runs in production at Nubank, Walmart, and Netflix. Racket descends from Scheme and emphasizes language-oriented programming. The author advises that the dialect matters less than learning Lisp's paradigm; switching dialects is relatively easy.

What commenters are saying

Commenters generally valued the comparison but noted omissions: AutoLISP and Emacs Lisp were mentioned as notable dialects. Several defended Common Lisp's readability via indentation and structural editing. One camp advocated Scheme (especially R6RS) as a minimal learning dialect. Practical concerns emerged: CL's frozen spec leaves threads/sockets as nonstandard extensions, and portable OS-interaction code remains painful across implementations. Others praised CL's stability and small self-contained spec. A few shared personal projects: a bare-metal CL implementation and SICP study with DrRacket.