3 ms·
There was a similar discussion elsewhere about this. Short version: what's the point in developing them? Despite what ardent proponents of either will tell you,
by apl 16y ago
There was a similar discussion elsewhere about this. Short version: what's the point in developing them? Despite what ardent proponents of either will tell you, they're essentially the same language. Porting code from one to the other is straightforward or trivial. Learning one with a background in the other is a matter of days.
I get it for the FORTRAN -> Java transition; I understand that you'd want to port your stuff to Python from Java. But why would anyone port massive and complex libraries (SciPy is not your regular "Yep, coded that in 4 days!"-gem) to a virtually identical language? [1]
No point. Learn Python, and get some stuff done.
[1] Now, if you're about to build a good scientific/numerical/statistical/(...) library for Clojure -- I'm all ears.
- djacobs 16y agoI am, in fact, trying my hand at stats in Clojure, to see if it's a viable alternative. I finished the Wilcoxon Rank Sum Test yesterday, and it's ridiculously elegant compared to the current SciPy implementation. Clojure is pretty fantastic. But where's the package management? Clojure might be a bit too young.
- brehaut 16y agoclojure package management is built on top of maven typically. There are two main approaches here: 1. Use Maven as Maven with https://github.com/talios/clojure-maven-plugin https://github.com/talios/clojure-maven-plugin - My impression is that this option is often more popular with people coming to clojure from java, as you get the full XML and maven experience. 2. Use Leiningen https://github.com/technomancy/leiningen https://github.com/technomancy/leiningen – this is a project and dependancy management / built system built in clojure on top of Maven's libs. You have a single (and simple - no XML) project.clj file that describes your project. My impression here is that lein is popular with people coming to clojure from non-JVM land. Being a former pythonista, this is my preference. There is also a default maven repo that i believe both work with hosted at http://clojars.org http://clojars.org. In both cases maven handles dependency resolution and package management. My experience is that a global install of jars is not common like it is in python or ruby land. The other tool that you will want to look at is https://github.com/liebke/cljr https://github.com/liebke/cljr which is a repl built ontop of lein's package management commands. This is useful because it lets you run a repl without a project (lein requires a project) but still gives you control over what libraries are available. If you are using incanter (the stats package mentioned by Estragon) you will want cljr
- djacobs 16y agoI'm using Leiningen at the moment, but I don't like importing my dependencies into my project folder. That's why I said "centralized package management". Is there a way to store all your dependencies in a central non-project-specific folder? I'll have to check out cljr.
- Estragon 16y ago...if you're about to build a good scientific/numerical/statistical/(...) library for Clojure -- I'm all ears. Presumably you're aware of Incanter (http://incanter.org/ http://incanter.org/), which wraps scientific libraries for Java.