5 ms·
I think the author has done a great job pointing out a need: science tools for Ruby.
by mcritz 16y ago
I think the author has done a great job pointing out a need: science tools for Ruby.
- hyperbovine 16y agoI still think Ruby is a little too "expressive" to be taken seriously is scientific circles. In my view, DSLs are not a positive feature in academic work, because everybody's D is different from the next guy's. This is why the linga franca of almost all algorithms papers is, in fact, pseudocode. Python is sufficiently structured that it practically reads like pseudocode.
- sigzero 16y agoYes, but Perl has a huge scientific following as well, so Ruby should be able to used there as well. However, I think with Python and Perl in that niche, it would be hard for Ruby to break significant ground there unless a RoR moments hits for that area with Ruby.
- apl 16y agoThere 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.
- knowtheory 16y agoRight, so i agree with the author on this front, but it's not to say that there are no tools with which to do analysis, but many of them are pretty rudimentary. I'd love to see more people pitch in and help develop tools that would make scientific analysis easier. I did a presentation at RubyKaigi on this general subject actually: http://www.slideshare.net/knowtheory/mapping-the-world-with-datamapper http://www.slideshare.net/knowtheory/mapping-the-world-with-... (and a video: http://rubykaigi.tdiary.net/20100829.html#p09 http://rubykaigi.tdiary.net/20100829.html#p09 )