this post was submitted on 13 Nov 2023
101 points (92.4% liked)
Programming
17351 readers
341 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
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. It’s designed for developer happiness, and it’s beautiful. Not as beautiful as it once was, but still lovely to code in.
I just can't comprehend how anyone can think ruby is enjoyable to work in or beautiful. To me it's a dumpster fire. I would almost rather write php.
I can’t imagine thinking the opposite either. People are different. Matz’s attempts at backwards compatibility in Ruby 3, particularly wrt typing haven’t been kind to its more elegant origins, but ‘dumpster fire’ is baffling to me. Some people do like php , though, so 🤷🏻♂️
Ruby's
===
operator actually serves a useful purpose at least.Crystal is very similar to Ruby, but is compiled to native code instead. Would you consider that? Why or why not?
Yeah, I’ve tried out Crystal. I like it, I think it’s got a lot of potential. I like the improved performance, and the concurrency model. The community and ecosystem isn’t as strong, though. If I had to pick one right more, it would still be Ruby! I love Elixir too, for different reasons. It’s a completely different language, but with a similar style.
I had a look at Mirah back in the day. It’s like Ruby, with stronger, more static typing, that is designed-in better than Ruby’s bolted on typing additions.
Ruby seems like a clusterfuck for anyone who doesn't work on a project alone, change my mind.
Ruby gives you all kinds of tools to make clusterfucks, but it's not hard to keep your hands out of the metaprogramming cookie jar.
But with careful application even fucky features can be put to good use. Like monkey-patching a problematic method to only throw an exception rather than allow accidental misuse. With a nice verbose error message and good testing practices there's almost no risk.
Oh I didn't even mean that; just the (possible, shorthand/unreadable) syntax alone, weird typing, etc. seem like it'd be hard to work with.
It's also funny because "allowing clusterfucks" is a huge reason why PHP was so hated; when you took care to write it properly it wasn't bad even in the early days.
The thing with Ruby clusterfucks is you have to go looking for them. Languages with implicit type coercion and loose comparison like PHP and JS have clusterfucks lying in wait for you and it takes concerted effort to avoid them.
What do you mean regarding weird typing?