Clojure можно использовать в проектах любого рода, при этом важной его особенностью является сочетание удобства скриптового языка с эффективностью многопоточного программирования. Как любой динамический язык, Clojure компилируется в байт-код для JVM непосредственно на этапе выполнения. В то же время Clojure является диалектом языка Lisp, предоставляя разработчику все преимущества функционального программирования.
Изменения в новой версии:
- монолитная система дополнений clojure-contrib.jar заменена на полностью модульную структуру, что позволяет, во-первых, не включать в готовые приложения код неиспользуемых библиотек, а во-вторых, иметь собственный цикл разработки для каждой отдельной библиотеки. При этом для обновления приложений, написанных на Clojure 1.2, рекомендуется сначала обновить библиотеки, а затем уже обновиться до Clojure 1.3;
- улучшена поддержка примитивов для арифметических расчетов;
- внесены изменения в определении записей (defrecord) и типов (deftype);
- улучшена система оповещения об исключениях и ошибках;
- добавлены несколько новых функций в clojure.core, clojure.data, clojure.pprint, clojure.repl;
- clojure.java.shell/sh теперь поддерживает в качестве источника данных объекты типов InputStream, Reader, File, byte;
- введена поддержка Maven для компиляции и развертывания приложений;
- увеличена производительность скомпилированных приложений.