http://clojure-doc.org/articles/content.html#clojure_tutoria...
http://clojure-doc.org/articles/content.html#clojure_tutoria...
Coming from Python and Ruby, being able to just deploy a jar is a dream.
(Although, as I happen to use mostly Debian-based systems, I prefer not using Python packages directly but build .deb out of them with stdeb and use system package manager to deploy. Just dput the built package to company's private apt repo, and Puppets pull the update.)
It's a mess, there are multiple factions and implementations, and until people started consolidating there were 4-5 concurrent popular approaches to packaging Python libraries.
I've lost tangible shards of my sanity to Python packaging and some of my poor coworkers are fighting the terribly useless fight regularly still to this day.
Worse, most Python projects that have any non-trivial dependencies usually entail NumPy, SciPy, or Cython.
Have you ever packaged something that's using multiple C and Fortran dependencies for automated deployment? It's horrific.
Meanwhile, back when I'm at home and I use jBlas or any other Clojure, Java, or Scala library here's what I have to do:
Add dependency to project.clj:
[bulwark "0.0.3"]
Ship the jar. lein deploy $maven_repo
Writing Clojure code at home is incomparably more pleasant not just in pure code, but in all the accouterments and tooling as well.You can also package all your code and its dependencies into a single jar, then copy that jar to your to your provider and run it.
It's pretty easy basically, and more advanced options are available, but even if it was more involved, I think the benefits you get with Clojure are big enough that I'd be willing to put up with quite a bit more difficulty than there is.