One Weird Annoyance About Clojure: Java
But, that's not all. The MOST annoying thing is that, you actually need to know a lot about stinking Java in order to do any real world work with Clojure. (don't let any hacker type fanatics tell you otherwise) You need to know Java class/object system, its package system, its namespace scheme, Java Virtual Machine system, its compilation cycle, its tools and achive files. Even the official Clojure documentation, outright simply say things like “returns a Java xyz object.” with no further explanation, in lots of places.
it is not to be taken lightly, that when you learn Clojure, you actally need to gradually understand a lot about Java ecosystem too.
but at least, thank god, it's a lisp that has industrial value, and is a Java replacement.