The problem with jar downloads as the default distribution method is that
non-Java people, and even plenty of Java people, seem to have problems
consistently setting classpaths correctly.  Seems much more straightforward
to just have lein take care of that for you.

As for complicated installation instructions, libraries meant to be used in
lein have installation instructions that generally look like this:

[compojure "0.6.4"]

The other alternative is to have environment package managers like Python
with easy_install and Ruby with gems.  Then you need to bring virtualenv or
Ruby version manager into the picture to use different versions of the same
library in different apps.  The Java world has tended towards dependencies
being coupled with the application, rather than the environment.  There are
good arguments for both sides, but either way, I don't think it can get much
easier than lein.

 - Mark


On Thu, Jul 28, 2011 at 5:23 PM, Michal B <mibu.cloj...@gmail.com> wrote:

> Why does it have to be so complicated to use libraries?
>
> To use libraries, you need to learn how to operate half a dozen build tools
> and git because each library author distributes their library differently.
> If figuring out how to install an IDE with clojure wasn't bad enough, now
> you need to figure out how to install and use each of the tools with it.
>
> I'm not saying build tools are useless, on the contrary. It's just that
> most of the time, we want to sling two or three libraries together and code.
> Right? There is no need to start a project with a bunch of template files
> and an elaborate directory structure and to start configuring dependencies
> and to rely on some magic happening that makes your program run.
>
> I think we over-engineered the build process to support the big projects
> and forgot the common case. Most projects are simple.
>
> Let's remove this incidental complexity by returning to simplicity. Keep
> the build tools for the heavyweights and get back in touch with your
> libraries.
>
> Instead of having a complicated installation guide for your library, have a
> Download section in your site. Have there a link to the latest stable
> version of your library as a jar file or, if necessary, a zip file with your
> jar and and all the necessary dependency jars (sane library authors won't
> mind). For a zip, shortly describe what's in it - library names and
> versions, and links to their sites. That's it.
>
> I think most JVM users know or can quickly figure out how to take jars and
> put them in their project's classpath. It's simple to do with all IDEs (or
> without one) and there is no need to learn or install additional software or
> edit configuration files. Starter scripts should include in the classpath
> all jars in the current directory or jars/ directory by default.
>
> Instead of managing libraries inside a dependencies file, you do it
> directly with the jar files. If the project gets too big, bring in the build
> tools.
>
> What are your thoughts on this issue?
>
>  --
> 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

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