Hacker News new | ask | show | jobs
by buckwild 5073 days ago
I second this. I'm a scientist who also happens to program (as more of us are finding we need to do). The two languages I use the most are R and Python. Most of the time, I don't even give Ruby a second thought because it seems to be primarily geared towards web development. In general, I shy away from web development, but I know that Python is more than capable if I wanted to try it out. There really doesn't seem to be any incentive for us to learn Ruby.
2 comments

There is nothing in ruby that is geared towards web development, not any moreso than python anyway. It just happens to be mostly used for that.

Ruby does however lack a lot of the ecosystem of scientific libraries python has, there is no real equivalent to NumPy for example.

Ruby also has the reputation of being much slower than Python, and speed is crucial in the scientific community when it comes to handling data-sets in the range of terabytes.

Edit: Also, when it comes to computer-technology the scientific community outside of CS generally lags far behind what CS is coming up with - for example, blastn, the most commonly used algorithm in biology for nucleotide-comparison, still doesn't have a proper 100% multithreaded solution.

There is also no adaption of NoSQL or any other of the "modern" data-storage solutions.

> Ruby also has the reputation of being much slower than Python, and speed is crucial in the scientific community when it comes to handling data-sets in the range of terabytes.

If we are talking computation speed, the difference between Ruby and Python is a floating point error.

> There is also no adaption of NoSQL or any other of the "modern" data-storage solutions.

NoSQL solutions are "modern", but that doesn't equate to being better. I am more than familiar with almost all major NoSQL players(redis, mongo, couchdb, cassandra etc), and for 99% of the cases, RDBMS is better solution. There is no adoption in scientific community(or most communities) because there isn't a clear benefit. I neither try to use RDBMS as a key-value store, nor do I twist my relational models to fit into a NoSQL offering(mongo makes the translation easier, but lacks things I need).

I have to agree that this is a stellar combination. Another huge win with Python, for me at least, is RPy. It's a great way to clean up a bunch of R scripts into one centralized python file. Makes it much easier to create command line tools than doing it in pure R.