Lisp — это не один язык, а целое семейство. В отличие от Python, Java или C++, у Lisp десятки диалектов с разными возможностями. Главный вопрос новичка: с какого начать? Ответ — почти любой, потому что ты учишься не синтаксису, а новому способу мыслить.
Самый зрелый диалект — Common Lisp. Он стандартизирован ещё в 1994 году, код с тех пор почти не ломается. Основная реализация — SBCL, компилирует в нативный код и по скорости может тягаться с C и Rust. Внутри — мощнейшая система отладки с condition system и restart. Можно прямо в рантайме на удалённом сервере подключиться к REPL и разобраться, что пошло не так. Поддерживает все парадигмы, включая CLOS — объектную систему с множественной диспетчеризацией. Минусы: нет современных плюшек вроде иммутабельных коллекций и ленивых последовательностей, комьюнити маленькое и разрозненное. Используется в квантовых вычислениях в Rigetti, раньше работал в Grammarly и до сих пор крутит Google Flight Search. А HackerNews работает на диалекте Arc, который переписан на SBCL — 10 млн страниц в день.
Clojure создал Rich Hickey, когда клиенты не давали ему писать на Common Lisp вместо Java. Решение: написать Lisp, который компилируется в байткод JVM. Полная совместимость с любой Java-библиотекой. Ядро — чистые функции и иммутабельные структуры данных. Конкурентность решается через atoms, refs и agents. Есть ClojureScript для браузера — получается full-stack. Сообщество небольшое, но дружелюбное, тусуется в Slack. Крупные пользователи: Nubank, Walmart, Netflix, Apple. Это, наверное, самый востребованный Lisp в продакшене. Главный минус — сообщения об ошибках замусорены Java-трейсами.
Racket — наследник Scheme. Его фишка — языковая ориентированность: каждый файл начинается с #lang, и ты можешь создать свой язык, не привязанный к синтаксису Lisp. Есть встроенный IDE DrRacket с редактором, REPL и дебаггером. Из коробки — GUI, веб-сервер, concurrency, FFI для C. Система макросов — гигиеническая, без риска захвата имён. Можно подмешивать статическую типизацию через Typed Racket. Минусы: мало где используется в индустрии, экосистема скромная. Идеален для студентов, создания компиляторов и быстрого прототипирования.
Ещё есть Elisp — встроенный язык Emacs. С его помощью можно менять поведение редактора в реальном времени без перезагрузки.
Совет для начала: если хочешь практичный и трудоустраиваемый Lisp — бери Clojure. Если хочешь почувствовать классический Lisp с максимальной интерактивностью и нативной компиляцией — Common Lisp. Если ты студент или хочешь делать свои языки — Racket.