Yesterday I would have argued that with the rails framework Ruby is a great way to rapidly develop a scalable application. Today I started having an intermittent failure in one of my API instances and when searching about it the only thing I could find was one obscure blogpost that boiled down to “yeah sometimes Ruby Ave active record just screws up the character set off a string” exact same string, different results. Excuse me Ruby? How the fuck can you sometimes screw up a character set? There should be no sometimes to any thing here.
As a Rails engineer with 14 years experience, I can say the place that should be in the 3rd panel is Shopify. They employ so many ruby and rails core committers and directly fund a good many rails gems, and ruby community infrastructure it's insane. They're also directly funding the development of things like the YJIT and speed enhancements to MRI itself.
Then there's all the other places I know or worked at built on Ruby where my other long tenured ruby friends work.
@nifty I have nothing against Ruby and think it’s a nice flexible language. At the peak of RoR though, all the asshats were all over Ruby.
My problem with Ruby wasn’t even RoR, it was with the way the asshats valued creativity “cleverness” which seemed to mean writing code in the most cryptic ways possible. These folks took what should be an expressive language and wrote scripts that rivaled Perl’s worst “read once and never again” scripts.
RoR is too much magic for me. Getting started with any new code base is such a pain that I never want to do again. As a manager, I'll avoid any job post that mentions Ruby. I have maintained projects written in Delphi, Centura, Java, C#, PHP and none of them even come close to the pain of RoR. Java and C# are notorious for ceremonial interfaces but that's nothing compared to trying to figure out RoR automagics.
The only place I've seen ruby used extensively is in environments with a lot of regular expressions and string manipulation. Still not entirely sure why I've only seen it used there. The regex tools in ruby are nice but they aren't nice enough to justify a language switch in my opinion...
I wrote extensively in Ruby but for Rake - using Ruby as a build system. Can't say I liked the language although it was okay for how we used it. We have 20 sub projects with some very complex build targets and dependency scanning going on and the Rake syntax was okay. Personally I think its biggest shortcoming was the documentation was very poor and stuff like gems felt primitive compared to other package management systems. One thing I liked from the language was blocks could evaluate to a value which I really use a lot in Rust too.
I think if I were doing an acyclic dependency build system these days I'd use Gradle probably.
As for Rails I expect failed to catch on because even compared to Python, Ruby is a slow language. And Python isn't fast by any stretch. Projects that started with Rails hit the performance brick wall and moved to something else.
But Cinc and its sell-out dad Chef are really great uses of ruby, keeping us from YAML hell and the kludgey socket-machine-gun that is Ansible. That piece of shit has more lithium-lick than I've ever seen.
If we can't have mgmtConfig (ohai go), at least let us keep Cinc, but it needs ruby.