3 ms·
Why not Common Lisp or Scheme?
by lngnmn 9y ago
Why not Common Lisp or Scheme?
- cgore 9y agoI did Common Lisp back in college for several years, it's a great language. But good luck getting a job with it. Clojure on the other hand, I've been paying my bills with that for the last few years. The main difference is a much larger community, and therefore lots more libraries for real-world stuff, and sitting on the JVM you have a lot of options integrating with existing corporate stuff.
- agentultra 9y agoThere's a Common Lisp implementation that sits on the JVM. It's called ABCL. It provides a Java API for loading and calling Lisp code as well as a Lisp API for calling Java code (although it is quite a bit more verbose than that provided in Clojure... nothing a few macros couldn't solve if it became a nuisance). The community is what does it. I tried for years to get commercial work in Common Lisp. It never happened.
- flavio81 9y agoI wonder the same. And the author writes: >"and Clojure is the first Lisp I'd consider using in production". I can't really understand the logic in this. If anything, CL has more going for it for production usage, like ANSI standarization and many high-performance compilers.
- yogthos 9y agoClojure has the advantage of targeting the JVM and Js runtimes. These are two most popular runtimes for writing web apps currently. Clojure can also be easily integrated into existing projects on these platforms.
- flavio81 9y agoYour Common Lisp code can also target the JVM runtime by compiling using the ABCL implementation (free, mature). It is ANSI compliant, so your code will work straight away with no change. ABCL also allows easy calling of Java libraries. Furthermore, not only JVM: other CL compilers let you target the LLVM. And of course you also have native compilers like SBCL which produce blazingly fast code.
- didibus 9y agoIts all explained here: https://clojure.org/about/rationale https://clojure.org/about/rationale Here's an excerpt: Why did I write yet another programming language? Basically because I wanted: A Lisp for Functional Programming symbiotic with an established Platform designed for Concurrency and couldn’t find one.
- lngnmn 9y agoI really appreciate narcissism and arrogance of Rich - he spent these two years (or whatever the legend says) writing Clojure 1.0 before made it public and this is what arrogance is for. Nevertheless, even an ordinary CS student would notice, that there is literally nothing extraordinary in Clojure which was not being researched and implemented in other languages, like Erlang, Scheme (that subset of it which does not include set-car! and set-cdr!) SML and, obviously, Common Lisp. The systematizing effort and ability to deliver are exceptional. So, I am sorry, but I am not buying these marketing slogans, because I know on which principles it has been made.
- lispm 9y agoIt's like cooking. The ingredients are known, but the recipe makes the difference. The particular combination/integration of features and the embedding in a Java environment is what made it liked by its target audience.