When all is said and done, Clojure is yet another Lisp dialect. It will have the same language limitations and many of the same considerable strengths. Understanding Clojure starts with understanding Lisp.
After Fortran, Lisp is the oldest commercially active language. It’s a functional language but not a pure functional language. The acronym stands for LISt Processing, and early on, you’ll see why. Lisp has some interesting characteristics:
Lisp is a language of lists. A function call uses the first list element as the function and the rest as the arguments.
Lisp uses its own data structures to express code. Lisp followers call this strategy data as code.
When you combine these two ideas, you get a language ...