与大多数作为单一实体演进的编程语言不同,Lisp 是一个方言家族,它们共享基本原理,但在语义、库和功能上有所不同。对于初学者来说,选择方言可能令人望而生畏,但其核心概念在整个家族中是一致的。
最著名的方言包括:
* **Common Lisp:** 一种成熟、高性能且稳定的语言,于 1994 年标准化。它支持多种范式、原生编译(例如 SBCL),并拥有可以说现存最强大的 REPL 环境。它非常适合对速度和交互性要求极高的复杂、长期运行的系统。
* **Clojure:** 一种托管在 JVM 上的现代函数式 Lisp,允许与 Java 库无缝集成。它优先考虑不可变数据结构和并发性,是现代全栈应用程序中非常实用且经过业界验证的选择。
* **Racket:** Scheme 的后裔,专为“面向语言编程”而设计。它擅长原型设计和构建新的领域特定语言。其全面的标准库和集成开发环境(IDE)使其成为学生和研究人员的最爱。
* **Elisp:** 一种专门用于定制和扩展 Emacs 编辑器的方言。
对于专业用途,**Clojure** 通常是最实用的切入点。**Common Lisp** 最适合寻求原生性能的传统主义者,而 **Racket** 则非常适合学习者和语言研究人员。