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

Reply via email to