title: Clojure vs other Lisps
body: <p>The intent of my question is <strong>not</strong> to start a flame war, but rather to determine in what circumstances each language is "the best tool for the job."</p>
  
  <p>I have read several books on Clojure (<a href="https://rads.stackoverflow.com/amzn/click/com/1934356336" rel="noreferrer" rel="nofollow noreferrer">Programming Clojure</a>, <a href="https://rads.stackoverflow.com/amzn/click/com/1430272317" rel="noreferrer" rel="nofollow noreferrer">Practical Clojure</a>, <a href="https://rads.stackoverflow.com/amzn/click/com/1935182641" rel="noreferrer" rel="nofollow noreferrer">The Joy of Clojure</a>, and the Manning Early Access edition of <a href="https://rads.stackoverflow.com/amzn/click/com/1935182595" rel="noreferrer" rel="nofollow noreferrer">Clojure in Action</a>), and I think it is a fantastic language. I am currently reading <a href="https://rads.stackoverflow.com/amzn/click/com/1435712757" rel="noreferrer" rel="nofollow noreferrer">Let Over Lambda</a> which mostly deals with Common Lisp macros, and, it too, is a very interesting language.</p>
  
  <p>I am <strong>not</strong> a Lisp expert (more of a newbie), but this family of languages fascinates me, as does functional programming, in general.</p>
  
  <p><strong>Advantages of Clojure</strong> (and disadvantages of "others"):</p>
  
  <ul>
  <li><p>Runs on the JVM.</p>
  
  <ul>
  <li><p>The JVM is a very stable, high-performance language environment that pretty well meets Sun's dream of "Write once, run [almost] anywhere". I can write code on my Macbook Pro, compile it into an executable JAR file, and then run it on Linux and Microsoft Windows with little additional testing.</p></li>
  <li><p>The (Hotspot, and other) JVM supports high-quality garbage collection and very performant just-in-time compilation and optimization. Where just a few years ago, I wrote everything that had to run fast in C, now I do not hesitate to do so in Java.</p></li>
  <li><p>Standard, simple, multithreading model. Does Common Lisp have a standard multithreading package?</p></li>
  <li><p>Breaks up the monotony of all those parentheses with <code>[]</code>, <code>{}</code>, and <code>#{}</code>, although Common Lisp experts will probably tell me that with reader macros, you can add those to CL.</p></li>
  </ul></li>
  </ul>
  
  <p><strong>Disadvantages of Clojure</strong>:</p>
  
  <ul>
  <li>Runs on the JVM.
  
  <ul>
  <li>No tail recursion or continuations. Does Common Lisp support continuations? Scheme requires support for both, I believe.</li>
  </ul></li>
  </ul>
  
  <p><strong>Advantages of Others (Common Lisp, in particular)</strong> (and disadvantages of Clojure):</p>
  
  <ul>
  <li><p>User-definable reader macros.</p></li>
  <li><p>Other advantages?</p></li>
  </ul>
  
  <p>Thoughts? Other differences?</p>