Java – How independent is Clojure from Java

clojurejavalibraries

I am quite new to the Clojure world. I appreciate the fact that one has easy access to all Java libraries via Clojure interop features, but I was wondering how much Clojure stands on its own legs.

Of course there are some platforms, like Android, where interoperability with Java will always be required, because the core libraries are written or exposed in Java. Moreover, since Clojure strings are Java strings, I expect string manipulation libraries to be a wrapper on the Java String methods.

But for other tasks I see no reason why native Clojure libraries couldn't be developed. Think of Http, date manipulation, XML parsing, templating, JSON serialization and deserialization, OAuth, math libraries and so on.

So my question is:

How far has Clojure come to become independent of the Java ecosystem? Does it have its own idiomatic libraries for most of these and other tasks?

Best Answer

Clojure is becoming more and more independent of Java libraries as its code base grows and naturally diversifies. A major strength of Clojure is that it can call Java, so to see Clojure code in the future that doesn't use java would be unlikely. That being said, I have done a good deal of development w/o calling Java libs(command line args, basic text minupulation, etc). Here's a list of pure clojure libraries: http://www.clojure-toolbox.com/