Hacker News new | ask | show | jobs
by fny 1358 days ago
I do a lot of ML and AI work nowadays... I miss Ruby a lot especially the its culture around ergonomics.
4 comments

I recently had the need to build an internal system that distributed workloads across many workers via a client/server model. I did the proof-of-concept using druby [1] and it turned out to be so simple and stable that we just ran with it. It'd been years since I had used that library and instinctively I assumed we'd get the prototype out and then rebuild it using some sort of web service and utilize a high concurrency web server but druby just worked!

[1] https://github.com/ruby/drb

drb is awesome. I've had the good fortune to be able to use it once. The simplicity of it compared to anything else is amazing.
how have i never seen this!! :D
It keeps me coming back.

Ruby itself is just such an enabler.

There have been some interesting ML gems rolled in the past few years:

https://ankane.org/new-ml-gems

Any thoughts on what the Ruby community would need to build in order for it to become an attractive tool for AI work?

My guess is some kind of corporate sponsorship. Someone with deep pockets to maintain it, encourage new apis keeping up with the latest papers, and make sure it works out of the box with the accelerator people want to use this month.
The web framework part is basically sponsored by 37signals https://37signals.com/32

Maybe that's why Ruby is best known for Ruby on Rails.

A huge cultural shift. People in scientific computing speak Python and R.

Something would need to happen that makes Ruby far more attractive. Say performance parity with Crystal or Nim.

I think it’s more than that, Julia exists and adoption is still slow. Lua and torch were plenty fast and they were still replaced by pytorch. I think to compete with python you need at least a fraction of the de-facto corporate sponsorship for python in the ML space.
As a primarily Ruby dev I'd prefer the AI/ML ecosystem not be split-brained between two languages that are semantically 90% the same thing. Just learn Python and integrate the models into your Rails (or whatever) apps.
Have you tried Scala?
It's more of a cultural thing. People tend to write Ruby in a literate fashion and think critically about their APIs. Scala devs get a little over their skis sometimes playing with language features.