Clojure revolts me.<p>It is the most explicit to date abandonment of the age-old Lispers' Dream, which was "Lisp All The Way Down." Clojure is the antithesis of the Lisp Machine. Rather than a crystalline pyramid of <i>comprehensible</i> mutually-interlocking concepts, behind every Clojure primitive there lurks Black Magic. The Clojure user who is missing some routine or other will run crying to Java for help, rather than implementing the feature himself <i>correctly</i> - that is, as a natural part of the entire language, built on the same concepts. Clojure pisses on everything I've ever loved about Lisp. It rejects even what little consistency and intellectual rigor there is to be found in an abomination like Common Lisp.<p>Clojure is the False Lisp, which Reeketh of the Cube Farm.<p>I don't care if everybody really <i>is</i> more productive in Clojure than in Common Lisp. The latter is not my standard of comparison (Symbolics Genera, the state of the art, is. Or, if you want something that is distinctly inferior but is currently available on the market: Mathematica.) Clojure is the gutted corpse of a dream.<p>I am tired of this abomination being hailed as the future of Lisp. Users of <i>real</i> Lisps, such as myself, will keep hoping, dreaming, and working on systems which do not betray the original virtues of the language.
<i>‘Cause if it’s ever been done, anywhere, by anyone, someone’s done it in Java. Twice.</i><p>If only. If I could get something like Python's Numpy on the JVM, I'd be using Clojure on my current project(s).
The impedance mismatch between Scheme and the JVM is a lot less than what the writer thinks. Here's the comment I just added to the post:<p>You don’t need primitive-static-method in Kawa as of several years ago. It’s just there for backward compatibility. Newer syntax for calling Java methods is much easier:<p><a href="http://www.gnu.org/software/kawa/Method-operations.html" rel="nofollow">http://www.gnu.org/software/kawa/Method-operations.html</a>
Using Java libraries from a non-Java language on the JVM is one of the happiest parts of my day, every day.<p>However that being said, the real reason why Clojure is going to become the most important Lisp is the same reason why Java has been displacing the theoretically-faster C++: multicore.
It's also that AFAIK, it's the first major lisp in a while to be completely redesigned without regard to compatibility with CL. There's a ton of stuff that was just waiting to be done, but couldn't because people kept using car and cdr instead of first and rest.