Many of you know that I am a long-time user and aficionado of Common Lisp and CLOS. Recently I started looking into Clojure as a possible development language. My initial impression is not good, but I will keep digging.
One of the really nice things about Common Lisp (and most other Lisp dialects) is the simplicity and consistency of syntax. Lisp is a homoiconic programming language, and thus Lisp code can be manipulated as standard data structures of the language; for most Lisps, this means that language expressions (“forms”) are trees constructed of lists and “atoms” (symbols, numbers, other scalar data types). The designers of Clojure somehow missed this point. I find Clojure syntax cumbersome and inconsistent, and needlessly complicated.
More later…