I would like to make a foray into web development using LISP, but am at an impasse: Which variant do I choose? What are the relative merits / resources available for CommonLisp, Scheme, and Clojure?
As JavaScript becomes increasingly ubiquitious thanks to budding frameworks like node.js, the lisp->javascript compilers start to look more interesting. Parenscript [1], Scriptjure [2] and Scheme2Js [3] are the respective projects for Common Lisp, Clojure and Scheme, and they're all relatively mature.
More recently, Jacob Rothstein started Sibilant [4], which I've been collaborating on [5]. The main difference in approach is that we're trying to design a new lisp dialect optimized for the task of writing JavaScript, rather than compiling from an existing lisp dialect that wasn't designed with this purpose in mind. Since it's such a young project, I wouldn't recommend it for production environments now, but you should keep an eye on it if you're interested in this sort of thing.
Thanks, Evan! I actually disagree about production use, with similar reasoning to Travis Swicegood's answer about coffeescript in production [1]. Since sibilant is just a source-to-source compiler, it's as production-ready as Node.js or client-side javascript is. The output javascript from sibilant is fairly plain and readable and encourages a particular subset of javascript's features. The language is under active development, but Node's API is also changing. I've been hacking on sibilant since late June and believe it to be sufficiently expressive, although it can always get better.
Clojure if you need to build anything serious. You can't beat its approach to concurrency, easy access to a multitude of Java libraries and the stability and maturity of the JVM as a platform.
Scheme if you want to learn a Lisp and then move on.
I wouldn't suggest Common Lisp (although it pains me to say that, as I've spent a lot of time building webapps with it). It is neither easy to learn nor easy to deploy and maintain in production.
Could you please link to some web apps built in Clojure? I really wanted to use Clojure for web development, but because I couldn't find many existing projects, I kind of concluded that if you really need to build anything serious you should be using Rails.
[+] [-] evanrmurphy|15 years ago|reply
More recently, Jacob Rothstein started Sibilant [4], which I've been collaborating on [5]. The main difference in approach is that we're trying to design a new lisp dialect optimized for the task of writing JavaScript, rather than compiling from an existing lisp dialect that wasn't designed with this purpose in mind. Since it's such a young project, I wouldn't recommend it for production environments now, but you should keep an eye on it if you're interested in this sort of thing.
---
[1] http://common-lisp.net/project/parenscript/
[2] http://www-sop.inria.fr/indes/scheme2js/
[3] https://github.com/arohner/scriptjure
[4] https://github.com/jbr/sibilant
[5] https://github.com/evanrmurphy/sibilant
[+] [-] jbr|15 years ago|reply
---
[1] http://www.quora.com/Should-I-use-CoffeeScript-for-more-than... .
[+] [-] revorad|15 years ago|reply
Look out for posts from mahmud, smanek, silentbicycle.
[+] [-] beambot|15 years ago|reply
[+] [-] ferostar|15 years ago|reply
[+] [-] francoisdevlin|15 years ago|reply
[+] [-] jwr|15 years ago|reply
Scheme if you want to learn a Lisp and then move on.
I wouldn't suggest Common Lisp (although it pains me to say that, as I've spent a lot of time building webapps with it). It is neither easy to learn nor easy to deploy and maintain in production.
[+] [-] evanrmurphy|15 years ago|reply
Could you please link to some web apps built in Clojure? I really wanted to use Clojure for web development, but because I couldn't find many existing projects, I kind of concluded that if you really need to build anything serious you should be using Rails.
[+] [-] makmanalp|15 years ago|reply