On Mar 27, 2011, at 8:12 PM, Chas Emerick wrote:
> 
> Dependency management and other garbage are definitely garbage, but I know of 
> no nontrivial programming language that doesn't have its share of it.  If you 
> know of any magical environments that eliminate such administrivia, do share.

A lot of the programming I've done in a variety of languages hasn't required me 
to deal with dependency management but that was mostly because there weren't 
any dependencies except the language itself (e.g. in Common Lisp), the 
language's own libraries which it knows how to find (e.g. standard C 
libraries), or my own code (which would be in the same file or the same 
directory). So the issue didn't arise. In other environments I've used 
"dependency management" is just a matter of putting libraries in single right 
folder; while that may be awkward for large, complicated projects at least it's 
clear how to make it work.

In more general, flexible, and modern environments I see that there's a real 
issue there that has to be solved somehow, but I think the problem that the OP 
raised (or at least the one that resonated with me :-) was that the ways to 
deal with this in the Clojure world seem to be either complicated to set up and 
use or not well integrated into the other tools that a newcomer has to deal 
with. 

Leiningen seems to be a relatively painless way to do dependency management in 
Clojure but as far as I know it doesn't play nicely with any similarly painless 
Clojure-aware editing systems (I mean painless to setup/configure and to use, 
for newbies). Maybe Clojure Box fits this bill -- but since I don't do Windows 
I don't know. There are a lot of near misses -- e.g. lein+emacs but emacs is no 
fun to configure or learn, Eclipse/CCW but then you can't use lein unless you 
learn some weirdly crufty magic, textmate-clojure except it has some bugs and 
doesn't seem to be actively supported, etc. I was recently excited by the 
prospect of a lein+Bluefish combo, but Bluefish doesn't yet have Clojure 
auto-indenting which I think is one of the minimal required features. (Actually 
there's a draft of an auto-indent feature in the Bluefish SVN but I haven't had 
a chance to build and try it yet.)

What I heard the OP saying, which I agree with wholeheartedly, is that it would 
be really swell if there was a package with a trivial installation process that 
could do all of the necessary things -- editing (with a basic level of Clojure 
support), dependency management (with defaults that just work for simple newbie 
projects) and running. This issue has been raised (by me among others) for 
months or years, and it seems to me that most of the well-seasoned folks around 
here think it's solved but really it's only something like 90% solved if you're 
a newbie, and that last 10% makes a big difference.

 -Lee

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