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

Reply via email to