On 5 February 2010 18:47, Peter Schuller <peter.schul...@infidyne.com> wrote: >> I've been wondering about this. The classpath issue seems like a >> major thorn in the side of the JVM, especially for Clojure and other > > It seems to be that there are two problems here. > > One problem is that there needs to be a convention for a clojure > "binary" that works consistently across platforms. I maintain the > clojure port in the FreeBSD port collection, and I install an > appropriate wrapper script such that you can in fact do: > > clojure myscript.clj > > And have it "just work" without further ado. > > This is something that I think needs to be made more consistent; > probably by having the clojure distribution ship with such a script > that works on all POSIX shells, and making it clear to packagers that > it is intended to be the standard way of invoking clojure.
This is my biggest issue with Clojure, and something I spend far more time than I should handling. Clojure as a language is beautiful, terse and simple, yet I find managing the VM arguments and classpath tedious, and a real barrier to hacking in the language. Especially as Clojure adds the REPL as an additional environment to run code in. I have high hopes for Leiningen helping to tackle this issue, but it's by not quite there yet. I'd love for the clojure community to settle on a standard method of starting Clojure programs, repl's and swank-servers (with classpath and VM settings configured by a file). IMHO Ruby (and probably python) do this better than Clojure, though I'm not sure if we'll ever be able to find a solution we can all agree on. > The other issue is that of picking up libraries. Here scripting > languages like ruby/python/etc have a well-defined convention for > doing this, where you have certain system paths that are intended to > contain modules. The exact path will vary with platform (for example > as a function of whether you use pycentral, are on debian, freebsd, > redhat, etc). I personally don't put so much weight on this issue. In my experience when it comes to things like ruby, people only tend to install ruby,irb and rubygems from their package manager, and rely on using rubygems to get their packages. As the distro's tend to be very out of date when it comes to keeping these packages up to date, so I've found it's almost always better to gem install them. I also second the fears about having a system wide classpath. They're brittle and very error prone. 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