Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It just shows how "cargo cult" driven our industry is. Ruby was in. Then it was out, because it "doesn't scale". Then suddenly Python is in, even though it is has the exact same performance characteristics, give or take some constant value, as Ruby.


Languages look similar, but Python value resides in the vast amount of libraries available to do data processing and ML. Most of them backed by C implementations under the hood.


There's nothing about Python, compared with Ruby, that gives it any advantage, numerics or otherwise. Ruby's C ffi is just as powerful as Python's. It's all just a first mover phenomenon. Python is the VHS of programming languages.


Community matters. In this case Python community around data science is huge.


PHP, JS and Python all have great communities but they're still crappy languages.


Exactly, and though Ruby has an FFI (Foreign Function Interface) similar libraries were not created and Ruby was pigeon holed as a language you build CRUD apps in.


There is a dev adding Ruby bindings via FFI to ML libs. Unfortunately it doesn't seem to be a large community (yet).

I don't do any ML and don't know much about it, but the Elixir / Phoenix people around José Valim now build ML software (nx, livebook) and I'm excited for this.


And those libraries can actually be used from any language with FFI capabilities.

So whatever headstart Python might have in machine learning, it is only a matter of time until all major languages support the same C, C++ and Fortran libraries.

The only things holding it, are having anyone that cares enough to write those bindings, and the culture of which languages are accepted when submiting papers.


Software, like anything with money involved, tends to suffer from cargo cultism, but I think there's much more to it. Language ecosystems tend to be self-reinforcing in a cycle between developers and supporting libraries/tools.

Once Python got the edge in certain areas - particularly data processing - it was an upward spiral. The same can be said of JavaScript for webdev over Ruby and Python, with its special place at the heart of every browser.

I'm not entirely sure why Python got its initial edge for data processing. I think Google probably played a big role by sponsoring Guido and making it one of the key languages used internally and on App Engine. Ruby also had its share of drama and not everyone appreciates its "More than one way" (TMTOWTDI) philosophy.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: