I'm not familiar with labrepl (except by name), but I think this is *exactly* right, as long as people do realize that maven is the "next natural step" from lein as soon as they have build requirements beyond running repls and maybe wrapping up a jar. Insofar as any higher- level tool provides UIs (text and script-based, like lein and other clojure build tools, or graphical, as with the NetBeans maven UI) that people are happy with, I think they're fabulous. I only take issue with the reimplementation of functionality that is otherwise ready-at- hand and any barriers that might be erected that prevent interoperability and collaboration.

A semi-final thought: Clojure is a JVM language. This fact is inescapable, and implies a lot of things (for good, and very, very occasionally, for ill). One implication IMO is that we should collectively aim to cooperate, collaborate, and interoperate with the rest of the JVM world, for our own benefit as well as for our neighbors'. We gain a lot by being able to develop on and deploy to the JVM, and like any other software community, part of the culture has to do with how software is built, deployed, and managed. This is all completely orthogonal to the utility of Clojure as a programming language, and is a predominantly social concern. Most of us already know the relative joy that comes with being able to drop our Clojure- based application off in a client or customer's hands as a jar or war file, without the consternation or difficulties that might ensue if Clojure were a platform-less island. There's a great deal of currency that also comes with being able to hand a project that contains Clojure code off to another JVM developer and have confidence that they'll be able to build, configure, and deploy that project without special intervention using tools they're familiar with. That's a win for Clojure, and therefore very much in our interest.

A P.S. on that thought is that I'd expect ClojureCLR projects to use whatever it is they use in .NET-land for building, configuring, and deploying projects and applications, for all the same reasons.

Cheers,

- Chas

On Mar 26, 2010, at 11:13 AM, Rick Moynihan wrote:

On 25 March 2010 22:17, Brian Carper <briancar...@gmail.com> wrote:
On Mar 25, 11:55 am, Chas Emerick <cemer...@snowtide.com> wrote:

Why does building and installing dependencies have to be harder than
this? Lein right now tries to fill this niche of being braindead easy
to use, and comes pretty close.  I realize Maven does a lot more than
build and install dependencies, but for some of us, that's all we want
out of life, and it's pretty nice when it's that easy to do so.

Agreed.  I know next to nothing about maven, other than it scared me
back in my java days.  It seems at first glance to be pretty
impenetrable (at least in terms of how it is documented), and that's
not say that I wasn't blown away by Chas's screencast.  I'd certainly
consider maven now or at least try it when my projects get bigger and
require more than lein has to offer.

Is there not an analogy to be drawn here between labrepl and lien?  It
seems both are targetted at being approachable to Clojure beginners
(and in the case of lein small projects).  labrepl isn't aiming to be
the environment you run complex clojure projects with, and in the same
way it seems that at some point you might want to migrate from lein to
maven.

I'd assumed that migrating a lein based project to a maven one (if
required) would be as simple as running:

$ lein pom

Then when you're ready you can rm project.clj and just tweak your
pom.xml for a pure maven build.

If this is the case then lein seems to allow people to delay learning
maven, which is a complex or at least daunting moving part in a
complex environment.  Not something you want to have to learn or adopt
whilst straining to understand Clojure.

Maven seems to be a polarising tool, some people love it and others
hate it...  This much we know.  So anything we can do to prevent
clojure being tarnished by the "maven haters", the better.  lein seems
to be a good step in this direction, and is possibly even a gentle
introduction to maven for those wishing (or requiring) to make the
jump.

Is it possible for us as a community to agree on this much?

R.

--
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

To unsubscribe from this group, send email to clojure +unsubscribegooglegroups.com or reply to this email with the words "REMOVE ME" as the subject.

--
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

To unsubscribe from this group, send email to clojure+unsubscribegooglegroups.com or 
reply to this email with the words "REMOVE ME" as the subject.

Reply via email to