38 ms·
It is a mystery why Ruby collapsed, and Python came to eat its lunch. Python was there first, and took a very long time to gain its hegemony. Pandas and Jupyte
by moloch-hai 4y ago
It is a mystery why Ruby collapsed, and Python came to eat its lunch.
Python was there first, and took a very long time to gain its hegemony. Pandas and Jupyter could in principle have been built on Ruby: why weren't they? Python suffered massively in the 2->3 transition and has only just begun to essay thread-safety, which both should have given Ruby a leg up.
Was it a core implementation group's superior openness to the needs of such projects?
- alrs 4y agoRuby was the prettier and more consistent language that was slow, prone to weird regressions, and a huge pain-in-the-ass to put into production compared to Python. Ruby metaprogramming made for some write-once-read-never codebases.
- eric_h 4y agoHaving worked with both in production code, I wouldn’t put one or the other on top in terms of “pain-in-the-ass to put into production”
- alrs 4y agoBack when you could deploy Python with apache and mod_wsgi straight out of your distribution's package directory. Ruby meant mongrel or fcgi, usually hand-built off in /usr/local, usually leaking memory, usually coughing up core dumps on the regular. Ruby libraries that linked to C libraries usually depended on bleeding-edge versions that were on developer Macbooks, but not the versions that were packaged in Debian or Redhat.
- bluishgreen 4y agoPython attracted certain types of folks who wanted to say quickly understand the latest output of the large hadron collider, about the size of life peoples let’s say. Ruby attracted live action role playing larger than life sage type of people. Seems people just about the size of life is what is needed to make languages flourish.
- vram22 4y agoWow, that's an interesting take on it, as well as a novel way of putting it.
- moloch-hai 4y agoI did not understand much of that. > about the size of life peoples let’s say > live action role playing larger than life sage type of people > Seems people just about the size of life ??
- turtleyacht 4y ago> about the size of life peoples Statistics folks, data science peeps. Just needing to get things done, and not necessarily interested in--or aware of--programming ergonomics (for example). > LARP Personalities, like a Carmack. People we refer to just by name, due to technical agility, charisma, or sheer output. I liked _why's stuff. The way he left is not how I would expect a persona to depart. There were some shifts in the programming landscape, and it led to a kind of forlorn sadness or mourning. If I had to list others, Chris Crawford and Mark Pilgrim. > Seems people just about... what's needed for language to flourish Folks needing to munge data from CSV or Excel found python (and R, and other data libs) earlier, or more convenient to use; this built momentum as others tried Python instead. Maybe also academia, python was there so it was taught. Another example could be students learned UNIX and brought it to their jobs. Same with Java.
- tjrDL6MjB2Zwwa 4y agoThis is why I stayed away from Rails. I did a contract with a Rails shop and refused to renew it. Without Rails there's not a strong reason to use Ruby. It's a beautiful language, no doubt, but other languages fill its niche just fine (Python, PHP, js).
- kragen 4y agoipython and numpy both predate rails cpython has supported thread safety since last millennium, it's just slow is all probably ruby, like lisp, is better for experiments to figure out what problem you're solving, but python (or, more so, golang or kotlin or typescript) is better for writing a maintainable solution to the problem once you more or less understand it i think of python as favoring flexibility a bit more than i'd like, at the expense of comprehensibility and performance, but ruby is even more extreme along that axis but probably random chance also plays a large role
- revskill 4y agoYes, auto loading in Ruby and Rails is a mystery for most programmers. So that's not mystery.
- jemmyw 4y agoIt's not mysterious though. It's not particularly complex. You can say the same about tooling and libraries in many languages. React Fibres are probably a mystery to most React programmers, but only because they don't go and look. I've read through the autoloading code, and I just happened to be looking through React's codebase this weekend. React is way more complicated.
- antod 4y agoWhat a lot of people don't seem to realise is Ruby was eating Python pretty badly around 2005-2010 as Rails and Github exploded and other things like Vagrant, Puppet and Chef took over. Ruby had all the mindshare and hype over Python back then. To me as a Python fan, it felt like Python had peaked and wasn't going to grow further. Then Node came along and stole the bandwagon followers that had flocked to Rails. The Ruby community was mostly the Rails community, so this kinda capped the growth of Ruby. Python though had lots of competing Web frameworks, and other use outside webdev incl core tooling for Linux distros etc. Ansible (and Salt to a lesser extent) came along and stole back share from Chef/Puppet. Less fashionable Python kept on trucking along and was well placed to pick up machine learning.
- pyb 4y agoVery interesting, thanks !
- jb_s 4y agoDid all the Rails people wind up being JS / Node developers? AFAIK the .NET MVC setup was pretty influenced by Rails, but don't think Rails people went to .NET
- antod 4y agoNo, a good number of Rails devs stayed around and it became more of a mature community, but the hype driven growth/mindshare was over. There is a certain loud percentage of webdevs driven by fashion, and that portion follow the latest fashion around around. Rails lost some to Node, Node lost some to things like Go and/or React as API backed SPAs grew. I really doubt many Rails devs went to .NET. In those days Ruby was pretty bad on Windows machines (might still be?), and nearly all Rails devs were Mac users. I never knew .NET MVC was Rails inspired - I always assumed it would've been closer in style to the older Java MVC frameworks Rails was keen to disrupt in the beginning.