On Sep 9, 2010, at 3:04 PM, Luke Renn wrote: > What exactly are you evaluating Clojure for? Because unless it's > teaching elementary school children, the LOC it takes to deploy a > hello world webapp is irrelevant. > > Luke
>From the sidelines -- because I know little about web apps per se in any >environment -- Mike's original question resonated with me and I want to second >his call for making simple things simple. Clojure makes many important things >simple, particularly within the Clojure code itself, but for someone new to >the java world some of trappings are really not simple (yet!) and I think it's >probably hard for those of you with more experience and all of the tools >installed and boilerplate memorized to have perspective on this. I'm not teaching elementary school but I am teaching college students with experience in a variety of languages (some know some java but some don't) and myself (some experience in a lot of languages, but the deepest experience in Lisp), and both they and I aim to do significant work in Clojure (and I think I already am, even though I'm still pretty clueless about most of the java-world stuff that gets discussed here). More than once I've seen people write that something is simple here and then found that the explanation required more steps than I would have guessed and tools that I never heard of. It's quite possible that these methods/tools are excellent and the best way to do the things eventually, but providing really simple ways to do the really simple things can really help in a lot of contexts, especially (but not only) for newcomers who may eventually enrich the community in many ways. To take one non-webapp example regarding basic tooling, it seems like Leiningen is one thing that can make many things relatively simple but since I've settled on Eclipse/CCW as my development/teaching environment to keep other things simple, and since I don't yet have any idea how to use Leiningen from within Eclipse/CCW, a lot of things aren't yet simple for me. I've posted about this on the CCW list and I expect that will lead to good things -- I've found the CCW folks to be extremely helpful so far -- but right now a lot of things aren't simple in my environment. One of my favorite examples of making the simple stuff simple is Processing (processing.org), which can be downloaded and installed with a single click, and allows you to make an applet with the graphical equivalent of HelloWorld with one line of code, entered in an intuitive IDE with a few very nice features like quick access to documentation, and a single click on an "Export" button. Then move the resulting folder to your server and your applet is live on the web. Add a little more code and you can quickly scale up to rich, interactive, and beautiful applets. If you want more you can add arbitrary java code and do many more things, although there are some limits imposed by the applet target and I guess this isn't a fully general programming platform. But I think it's a superb example of making the simple stuff simple while also allowing those who want to do more complicated things to do so. And it contrasts starkly with my experience with Clojure which, as much as I love the language itself (and I really really do), has had me fighting with classpaths, directory structures, emacs configs, tools that don't talk to each other, etc. to do a variety of things that seemed like they should have been simple. I know that Clojure and its associated tools are works in progress and I'm not complaining that things aren't instantly perfect. But I want to stress that it really is a very good thing to make the simple stuff really simple, and to remind people with more expertise that they themselves are not in a very good position to judge what's simple (because they are polluted by their expertise). -Lee -- Lee Spector, Professor of Computer Science School of Cognitive Science, Hampshire College 893 West Street, Amherst, MA 01002-3359 lspec...@hampshire.edu, http://hampshire.edu/lspector/ Phone: 413-559-5352, Fax: 413-559-5438 Check out Genetic Programming and Evolvable Machines: http://www.springer.com/10710 - http://gpemjournal.blogspot.com/ -- 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