Clojure is a Lisp. Lisp stands aside all other programming languages, first of all, because it supports syntactic abstraction (a.k.a. "code is data"). Hardcode addicts (I'm not one of them) say there are only two programming languages - Lisp and non-Lisp.
Here's a good comparison of Scala and Clojure: http://stackoverflow.com/questions/1314732/scala-vs-groovy-v...
When we made the decision to switch to Clojure, several things affected it, in no particular order:
- we had some people who were already very proficient in Lisp
- we liked how expressive and compact it was
- Lisp is considered to possess immense expressive power (see http://www.paulgraham.com/lisp.html)
- we were enamoured by Cascalog (http://nathanmarz.com/blog/introducing-cascalog-a-clojure-ba...), and it's written in and for Clojure. This one payed off very well.
- Lisp has a reputation of being great at manipulating data: lists, graphs, etc.
Here's a good answer from one of our engineers: http://www.quora.com/Clojure/Why-would-someone-learn-Clojure
As for libraries, both Clojure and Scala are JVM-based, and Clojure has a very good syntax for Java interop, so all Java libraries are available to us. But, of course, Clojure community also spits out libraries like crazy, for example, take a look at this marvel which we use in Drake for parsing: https://github.com/joshua-choi/fnparse.
instead we asked, "what would be a great language for this project?" and arrived at Clojure based on the above.