Нам не нужно иметь еще один ответ (и я не ожидаю, что за него проголосуют), но вот несколько небольших улучшений для нескольких других ответов.
Новее не обязательно лучше. Новые и плохо спроектированные - это нехорошо, новые и не обслуживаемые - нехорошо, а более новые без более широкого (или, по крайней мере, растущего) пользовательского сообщества не годятся. (Новые языки выходят регулярно, но большинство из них отходит на второй план из-за неиспользования.)
Я люблю Common Lisp. Частью его красоты является его причудливость, которая проистекает из того факта, что он был разработан комитетами с целью обратной совместимости с несколькими несовместимыми диалектами.
Мне нравится Схема. Это красивый, элегантный язык. Тем не менее, его развитие зависит от комитетов, и, возможно, это иногда замедляло его. В любом случае его цели отличаются от целей Clojure.
У Common Lisp и Scheme есть такие акценты, как хвостовая рекурсия, которые плохо подходят для эффективности на JVM. Clojure был спроектирован с самого начала, чтобы хорошо отображаться на JVM и хорошо взаимодействовать с Java. (Я не уверен, что это означает в диалектах Clojurescript и CLR.)
Тот факт, что Clojure был первоначально разработан одним человеком, Ричем Хики, и контролируется им вместе с небольшой командой, не обязательно делает его лучше, чем язык, контролируемый комитетами. Если этот человек принимает плохие решения, Clojure не будет хорошим языком.
Тем не менее, и это важный момент : Хикки разработал хорошо продуманный, элегантный язык, который с самого начала включал в себя систематически связанный набор функций, облегчающих выполнение многих задач. с небольшим. Это касается как базового взаимодействия с JVM, так и остального языка. Люди, которые контролируют Clojure, до сих пор строго придерживаются целей языка.
Это большая часть того, что мне нравится в Clojure: он хорошо продуман как в целом, так и в его деталях. Это означает, что как только вы к этому привыкнете, программировать на нем одно удовольствие.
Было бы лишь немного преувеличением (или занижением?) Сказать, что Clojure обладает силой Common Lisp с элегантностью Схемы. Common Lisp имеет много и много того, что вам нужно встроить в язык, но это беспорядок (я говорю это с любовью), и когда вам нужно что-то большее, чем то, что есть в языке, иногда есть несколько несовместимых библиотек с различными компромиссами. Схема по дизайну невелика, хотя есть библиотеки доступные. Clojure имеет растущее количество стандартных библиотек (в отличие от CL), которые являются более или менее частями языка. Хорошей иллюстрацией этого является проект core.matrix, который предоставляет общий интерфейс для нескольких различных реализаций матрицы. Это важно, поскольку существуют разные реализации матриц, которые лучше всего подходят для периодического использования небольших матриц или, например, для широкого использования огромных матриц.
Ничто из этого не означает, что Clojure лучше Common Lisp или Scheme; это не. Три языка имеют разные достоинства.