Ruby as a statistics workbench This is also a question that relates very much to Python as a statistics workbench and excel as a statistics workbench. I know there is a huge discussion about Ruby versus Python but this is not the point on this question. I thought that Ruby being faster than Python and having a very natural syntax could benefit me to understand statistics and could be also a good alternative to R (which is also of my interest and was cited at my other question on  R here). For instance, on one of the Google Tech lectures I've seen (cited on the linked question here, the instructor complains that R is slow while creating a for loop). With Ruby there is also Rails, so maybe there would be possibility to bring both together as well (Python does have Django, but again I'm not getting into that).
So, the question stands the same, but for my interest, in Ruby:


*

*What can you recommend if I wanted to use Ruby as a "statistics
workbench" to replace R, SPSS, Python, Excel etc.?

*What would I gain and lose, based on your experience?
Please note I am considering this question based on the previous Python and Excel question. If you believe using Ruby and Python (or Excel) would have the same impact, then please say so and point to the arguments of any previous question, the intent of this question is not to replicate the previous questions for the same answers. I do, however, believe that there are differences (such as the speed of the language and the syntax), but I would also specially like to know the recommendations for Ruby or if there is, for example much less available for it than say for Python or Excel. So please consider the previous answers for these very similar questions but for other language/program.
Edit: Just to highlight since the answers seems to be going on the other way, the answer that I was looking for is one such as the chosen answer at the Python question I have linked to. It is not about learning statistics together with Ruby. I did point to the question learn statistics with R. If it is possible great, but I am not expecting to learn statistics with Ruby at the same time. You can assume statistics background for this question.
 A: I'm use Ruby+R. 
You can read the paper:  RinRuby: Accessing the R Interpreter from Pure Ruby
http://www.jstatsoft.org/v29/i04/paper
and this blog:
http://rubyforscientificresearch.blogspot.com 
http://sciruby.com/ 
(sciruby 's author is  also R user. )
A: OLD (PRE-EDIT) ANSWER:
If you think you'll learn statistics by programming everything yourself, I'd say you're in for a long slog full of debugging and not statistical learning. Plus, you'll need a language like R to check your answers anyhow.
I think user765195 has a point in terms of R being harder to debug than many other languages, which is important, but "worst"? I don't think so.
EDIT:
So if I can summarize your EDIT: given that you already do statistics, and given that you really want to use Ruby to do it instead of an actual statistical program (R, gretl, SAS, etc), how can you make your life easier. Is that right?
I can't give a Ruby answer, but I think the general question should also be addressed. Especially since you're pointing back to other instantiations of the same question: "I'd like to use Python/perl/java/Clojure/C/whatever to do statistics".
I think the answer will always be: "why use a generalized, primitive (statistics-wise) tool to do a job that a specialized tool does much better?" And I can see six basic replies:


*

*I simply don't want to learn another language, and since I'm well-versed in Python/Ruby/Excel/Java, I insist on using that language.

*The statistics I want to do have to fit into a larger project (such as a web-based tool) and the tools used by this project don't play nice with outside tools, so I have to use Python/Ruby/Java. (Or it might be a matter of deploying an application and it's not possible to try to deploy arbitrary executables.)

*I would use a specialized tool, but the ones I have access to (say R, which is free) are too slow or cannot handle the huge datasets/real-time requirements for my project.

*My employer/client insists I use general-purpose language Python/Ruby/Excel/Java. I have no choice, and am looking for the least painful way to follow this requirement.

*By "statistics" I mean very simple stuff like finding means/medians, variances, etc. Why pull in a specialized package that can calculate mixed-effect models via MCMC when all I want to do is calculate what points are outside of 1-sigma away from the mean?

*I am doing something very specialize, and for which even statistical packages like R have no packages/libraries/functions. It's not only cutting-edge, but requires super-high performance, and I need to do it from scratch. (Or perhaps use libraries I've developed already in language X.)
In my opinion, reply 1 isn't a good one, reply 2 might be legitimate, but may have workarounds you're not aware of, reply 3 is more likely to be legitimate but also may have workarounds, and for the other three replies, hopefully you'll get a better answer than mine.
A: A few random thoughts:


*

*You mention that you're looking for a workbench to learn statistics. IMHO, none of the platforms you mention will be good for learning statistics. There will be too much distraction, learning the syntax and the semantics of the specific language. If you want to learn statistics, just pick up a book (I highly recommend Tukey's EDA), and perhaps a calculator. Learning a language on top of statistical concepts is a highly unnecessary distraction. 

*The person who complains about slow loops in R is betraying his ignorance: loops are not a natural construct in every language. They're slow in most functional programming languages.  The alternative is function application, and that's usually fast. 

*When it comes to programming languages, speed should be your last concern. A much, much more important issue is the ease to debug the code. 

*When it comes to debugging, R is perhaps the worst programming language I know. It is sometimes impossible to debug the code. On top of that, the documentation for existing packages is usually very poorly written. Overall, my advice is, if you can avoid R, do it. 

*I'm only marginally familiar with Python's statistical content. My understanding is that NumPy is not really professionally written and doesn't take numerical issues into consideration. 

*Have you considered Haskell? It's definitely the best programming language out there.

