Clojure with third party Java libraries

Eugene Gunov

Greenhorn

Posts: 3

posted 6 years ago

Hi, authors and all

I'm a Java developer playing with Common Lisp and Clojure recently.
Glad to see new non-beginner level book on Lisp coming out.

Regarding specifics of Clojure I'm concerned with following.
I've got impression that to code a serious application (integrated with other enterprise systems) you'd need to use extensively some third party java libraries which were not written with Clojure concepts in mind. In this case much of Clojure goodness (immutability, persistent collections, concurrency guarantees) seem to fade away. So you're left basically with Java in parens syntax (i'm overstating a bit).

I for one think that the availability of the Java ecosystem is a great boon to Clojure. Some of the best libraries and systems built with Clojure leverage existing libraries heavily. Granted there is often an impedance mismatch between the way that Java libraries are constructed and what constitutes idiomatic Clojure code, but I've never found it to be a barrier. Like any project, using existing libraries requires some thought about how you want to express the solution and how the library fits into that model. Where Clojure helps in this regard is that its programming model is extremely malleable. Very often it's as simple as creating a facade of functions over the library in question. I don't want to speak too generally however since every library and every project is different.

Eugene Gunov

Greenhorn

Posts: 3

posted 6 years ago

Thanks for the reply, Michael. An old saying - "Our greatest strength is also our greatest weakness" comes to mind. I hope to get a chance to judge it for myself in practice agreed.