People on HN seem to hate it whenever someone criticizes Ruby. But the language is a sad joke that's gone on for too long. I totally agree with your points and have many more I could mention (lack of proper debugger support and shitty tooling in general - these things exist, but they break every week)
The 4.0.0 release notes (TFA) are like a joke. Here are the language changes in their entirety:
if you just need to write a few hundred lines of code to automate something ad hoc, or play with an idea, or do something exploratory like reverse engineering a file format, ruby is a truly gorgeous language. it just hasn't added the affordances you need to maintain a large code base, which is sad because python has shown that you really don't need that many of them - type annotations and explicit exports that act as namespaces would go a long way.
I actually love it for small scripts (not more than a couple hundred lines), including small web services and such. Much more pleasant than Python (though Python handles growing beyond a couple hundred lines way better than Ruby does)
I really like a few of its smaller libraries. Just not Rails.
I worked for a company who had kept adding to their Ruby codebase for 10+ years, reaching about 50k files. At that point it becomes an unmanageable mess.
The 4.0.0 release notes (TFA) are like a joke. Here are the language changes in their entirety:
Language changes: *nil no longer calls nil.to_a
That's it.