Clojure es Lisp sobre JVM. Clojure es un dialecto de Lisp por lo tanto si entendemos Lisp entendemos Clojure. Lisp es un lenguaje funcional no puro. Lisp tiene algunas características interesantes:
Lisp es un lenguaje de listas. Una llamada a una función utiliza el elemento de la primera lista como la función y el resto como los argumentos.
Lisp utiliza sus propias estructuras de datos para expresar código
Si mezclamos estas dos ideas obtendremos un lenguaje ideal para metaprogramacion. Podemos organizar nuestro código en un árbol teniendo una base de modelo de objetos, también podemos crear un código basado en prototipos. Dándonos gran flexibilidad.
Los primeros dialectos de Lisp son Common Lisp y Scheme. Scheme y Clojure son de la familia de dialectos llamado lisp-1 y Common Lisp es de la familia llamada lisp-2.
Una de las cosas más importantes de Clojure es que funciona sobre la JVM lo que permite usar todas las librerías y frameworks ya escritos en java.
Clojure es funcional y es dinámicamente tipado, lo que hace que el código sea más fácil de leer y más divertido de escribir.
Esto es solo una introducción en proximos post seguiremos escribiendo de este lenguaje.
Dejo Link:
http://clojure.org/