Also, "dumped" is the wrong word, because you insinuate here that they stopped using ruby altogether. That is not the case; the percentage usage declined in relative terms, but I do not know of any of these companies to have gone down to zero percent in regards to ruby. Which is typical - big companies use all sorts of different languages.
> Alas, with most non-Ruby devs it is nearly impossible to compliment that
> brilliant, wonderful language (and Rails). It's become popular to look for a
> reason to hate a language you don't write in, and usually tech stacks are sold
> by putting down other stacks, like when NodeJS came out.
When it comes to speed, they have a point - there is just no contest between C and C++, when comparing it to ruby or python.
In my opinion, though, most of these who critisized ruby and python, are actually also people who are VERY very bad in either of these two languages. Some of them are still stuck with C and perl, too old to learn anything new. And no, the "I'm gonna learn a new language every week" crowd does not count - I have seen too much atrocious coding pattern by these people.
And of course, everyone understands the speed argument. But that has already been settled. Speed matters when speed is very important. I've seen people
recommend that I stop using Python and learn Rust to create a medium sized API. The average response times for the API that I had already completed was 30ms. That's a fraction of a second. I haven't used Rust yet, so I don't know what the performance difference would be, but why on earth should someone rewrite an application to save themselves a unit of time indiscernible to both the developer and the customer? Even if my load times increased a fair amount, nothing would be lost.
As far as people who don't mind learning another language, I can understand why that's fun, because it is. But when you have work that needs to get done and needs to be done with assurance, you don't have time to learn another language and figure out its quirks, shortcomings, and strengths all while trying to build that feature. My belief is that you should be able to write a language like a member of its community. If you don't have the intention of doing that, then you shouldn't really be messing with it. (for example, don't write Python like it's Ruby)
It has been my experience in New York City that people who criticize Ruby and Python tend to come from languages that are strongly typed and use them at work. It is cool to hate on a language because if you do, then you get to feel better about yourself just by subscribing to another community and hiding underneath that umbrella. You don't have to contribute to open source, answer questions online, or give talks at your local meetup. You get to call yourself a better engineer just by subscribing.
Anyway, I got way off topic. But the point is that when Ruby came out, there were plenty of options. People went with Ruby and Rails probably because it's a lot of fun to finish your work. I know that I really enjoy finishing my work.