On 18 Giu, 16:52, rob levy <r.p.l...@gmail.com> wrote: > As an informal survey of people who use both Clojure and Common Lisp for > different projects, what do you see as the main determining factors behind > your choice to use either Clojure or Common Lisp for a project, given the > present state of Clojure. Let's only assume we are talking about projects > you completely own and have complete freedom to do what you want with. > > Common lisp: > Compiled on the processor, fast. > Reader macros. > Quality, not quantity of libraries. > Multi-paradigm programming with no nudging -- programmer has freedom to > be insane/bizarre in ways Clojure makes hard (see Let Over Lambda for > examples) > Downsides: > Hard to deploy. -- but not a problem as server side of web app > Can't run on on GAE. -- need to run a server or rent/maintain virtual > server. > Limited to native librares, though they tend to be awesome. > > Clojure: > Neat concurrency stuff. > Better deployment. > Can run on Google App Engine. (maybe ABCL can too, but I wouldn't want to > use that personally).
It can (but its startup is slow, currently). May I ask you why you wouldn't want to use it? > Lots of Java libraries, many more than for CL. ABCL has that, too. Many of your points are not really about Clojure vs CL, but about JVM vs the platforms the various CLs run on instead. > Increasing a large number of awesome native libraries. > Downsides: > As server side of web app in apache, less straigtforward requires > Tomcat, Java crud. > Java interop is great-- but Java itself sucks! There is an impedance > mismatch of language semantics. This is the biggest flaw I see in Clojure - I think it's too heavily tied to Java. Granted, that can also be seen as a plus. > The nudging of paradigm/idiom makes many things easier in Common Lisp. That depends on a lot of things and it's very personal. Common Lisp is not automatically easier than Clojure for everyone. > Lots of cool benefits of Clojure (such as any/all GUI stuff for > example) depend on crufty Java nonsense you must contend with. Lots of cool libraries in CL depend on crufty C/C++ nonsense you must contend with. FFI is great but it's not a panacea. > So, for me at this point, if I don't need interesting concurrent stuff, and > I do my own hosting, Common Lisp in Hunchentoot or mod lisp still seems like > a superior web development approach. On the other hand if I am doing > desktop apps, applets, want to use GAE, etc, Clojure seems better. I feel > like as time goes on we will be more abstracted away from the pain of Java. > > Any thoughts on how you make your decision for specific projects? I use Common Lisp because that's the Lisp I know. I'm interested in Clojure because it has put some nice ideas on the table, but currently I see no reason to use it outside heavily parallelism-oriented applications, especially given that ABCL is there and it offers a nice combination of CL with Java libraries. OTOH, I think that for the average Java developer Clojure is probably friendlier. The good thing about the JVM is that it makes it relatively easy for different languages to coexist and cooperate on the same platform. You can have library code in Java, scripts in JavaScript or BeanShell or Python, concurrent stuff in Clojure, everything else in Common Lisp ;) I'm exaggerating, but you can see the point. Cheers, Alessio -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en