Clojure has always been slightly disappointing for me... The principles behind its design are all sound and Rich Hickey deserves credit for putting in the hard thought behind it. ... but.... the reality seems to be of a really under performing language. The forums are consistently full of people with 'why is this slow?' to which the solution is always 'Give it more hints' or 'do it in a more Java like way'. Unfortuna…
Sure, Java and C++ perform better still. I don't feel like Clojure is trying to compete with them on performance, rather Clojure is competing with the dynamic languages and allows you to drop down to lower levels (type hints, Java interop) when you do need more performance. Developer productivity first, performance second.
If I need C++ performance, then I use C++ because few languages can compete with that, but for most of my work (web development), I don't need to.