this post was submitted on 16 Sep 2023
576 points (93.9% liked)
Programmer Humor
19551 readers
736 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Ruby's popularity in the early 10s thanks to Ruby on Rails feels like it happened by accident. The language is hard to read and low performance, but Rails is completely automagic. But this is also the worst thing about rails. You create your app fast, but then maintaining it is expensive because you can't onboard new developers easily. Even if they're familiar with rails' automagicisms, it will take them quite some time to parse what the hell the code is doing.
Meanwhile I seem to recall Ruby's creator finding the situation of his language being popular because he'd created it as an experiment and never thought it would be used in production grade environments
Whew, iterating and working with data in Ruby is so hard. How does anyone read this stuff.
Ruby is a syntax-sugar-loaded C-wrapper, just like Python and countless other languages that don't compile straight to machine code. If anything other than C and Rust are slow to you, then sure, maybe Ruby isn't a good fit for your project (but Crystal might be).
Damn right, I'm two or three times as productive as I ever was in C#/Razor, Java/Spring or kludging through the countless JS boilerplate-heavy web frameworks.
As with any app that grows into something successful and widely used, technical complexity becomes exponential. I've found once web applications grow to a certain number of models and controllers, the relationships between them start to grow exponentially as well. This means one small change can ripple throughout your application and have unintended consequences where you least expect.
This is not even remotely a unique problem to Ruby. It's happened across every project I've seen that grows beyond 30 models and a couple of dozen controllers, regardless of language. This is why unit testing is so important.
But, specifically you mentioned you can't "onboard new developers easily". I don't see how. I've taken two CS grads straight out of college and had them adding features with tests within a couple of days on Ruby projects. Ruby was designed to be most friendly to humans, not the compiler. If Rails is what is tripping you up, imagine trying to learn a new web framework on top of an even more complicated language than Ruby. I just don't see this argument at all, from my experiences.
Pretty sure most any language that was created by an individual and not by BigCorp™ is a feat in and of itself. This speaks more widely to a language's capabilities and value if it can reach popularity without corporate backing. This argument seems to imply that because of it's origin, it will always be some kind of experimental toy that was never intended for wide-use.
Meanwhile, Linus Torvalds:
Things have to start somewhere, I guess?
I kindly ask you to be more constructive in your criticism of Ruby. It's a great, powerful language with a low barrier to entry. There's no reason to spread FUD about it.
What's with the weird syntax, isn't idiomatic ruby
(or the shorthand version)?
Was about to say as someone who's been using Ruby for over a decade, 8 of which professionally, I've never once come across a
for
loop.each
on the other hand, all day every day.