2 ms·
Clojure doesn't really mix OO and functional styles. The only real OO bits in Clojure are for interoperation with Java libraries; I've never seen them used for
by Zak 17y ago
Clojure doesn't really mix OO and functional styles. The only real OO bits in Clojure are for interoperation with Java libraries; I've never seen them used for anything else.
Clojure has a couple major things going for it. One is that, to me and at least a few other people, it feels like a well-designed tool. I constantly get the sense, when programming in Clojure that Rich Hickey understands what I want to do, and designed a tool to make it easier.
The other big advantage is its focus on concurrency and parallelism[0]. Clojure is built around constructs designed to make concurrent and parallel programming easy. All the data structures are immutable, but relatively efficient. The built-in constructs for coordinating state changes are very well thought out. These features could be added as libraries to most languages, but having them built means libraries will use them too, and the syntax is nicer.
[0] They're not the same thing: http://ghcmutterings.wordpress.com/2009/10/06/parallelism-concurrency/ http://ghcmutterings.wordpress.com/2009/10/06/parallelism-co...