A few weeks ago I argued that language distribution platforms should be based on a distributed version control system (like Mercurial or Git) and have an user-friendly web-interface (like BitBucket or GitHub). Reputation (like the one found in StacOverflow) should also be a part of the platform. Anyhow, read more here if you are interested: <a href="http://amix.dk/blog/viewEntry/19475" rel="nofollow">http://amix.dk/blog/viewEntry/19475</a>
Both the CLI CPAN module/tool itself and <a href="http://search.cpan.org/" rel="nofollow">http://search.cpan.org/</a> are awesome to work with. I think every language should shamelessly copy them first, and try to improve upon them second.<p>It almost seems like Ruby/Python have been consciously reluctant to do so.
I find package systems fantastic for things I don't want to care about it, but get frustrated when it handles the things I do care about.<p>Or maybe that's just my own experience using Common Lisp on Ubuntu.
The scientists he's talking about are smart people, but aren't really into computers and (what's more) have no patience at all for the amount of pain it takes to compile the dependencies Python packages need.<p>It's not the Python side of things that's the problem. Numpy and Scipy (which nearly all Python scientific software depend on) is based on both bindings to C and to Fortran, and getting those library ducks in a row - especially on Windows or MacOS X, on Linux your package manager does it for you - is a pain for someone who knows what they're doing and almost impossible for someone who doesn't.<p>Plus, well, most scientists outside physics use Windows. If you need a command-line tool you've already lost in that respect. What you're competing against is often Excel.<p>The battle over Numpy being in core Python has been fought and lost, but short of that level of integration, I don't see that there's going to be much effective to do about this.
Perhaps I'm late to the game but why not take a good look at the Gem/Gemcutter Ruby packaging and distribution system?<p>The Ruby folks have done a few iterations of packaging systems and have pretty much nailed it.<p>Might be worth studying the whole 'gem' system (discovery, distributed publishing, versioning, dependencies, uninstall, etc).<p><a href="http://www.gemcutter.com" rel="nofollow">http://www.gemcutter.com</a>
Common Lisp needs something well structured like CPAN too. The situation with clbuild, mudballs (deceased?), asdf-install etc. is rather confusing IMHO.