this post was submitted on 24 Aug 2025
286 points (97.4% liked)
Programmer Humor
38185 readers
197 users here now
Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
- Posts must be relevant to programming, programmers, or computer science.
- No NSFW content.
- Jokes must be in good taste. No hate speech, bigotry, etc.
founded 6 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Edit:
To clarify, I looked at existing online ruby code and gave it a small test for readability. It may be outdated, use uncommon syntax, bad practice or be full of individual developer quirks - I wouldn't know. I did that because I wanted to highlight some weaknesses of the language design that turned me away from ruby years ago. https://en.wikipedia.org/wiki/Principle_of_least_astonishment
Yes, very nice. But here comes the ugly;
oh ok, a bit hieroglyphic, but I can figure it out, seems like '&' means element and ':' means what I do with it.
Aaah so a backtick is for strings? WRONG!!! IT EXECUTES THE FUCKING COMMAND!!!
What the hell is | and / ? Oh but I guess
..
is a range like in other languages, but what would be that range??? WRONG! I!!T'S A FLIP FLOP!!!Ah, just memorize which letter to use by heart and that % is for type and that [ = { sometimes. But { unequal to { other times.
=~ neat!
$~ dafuq???
At this point I feel like ruby devs are just trolling us. There are always multiple ways to do the same thing. Every example from above also has a tidy and readable way to do it. But the alternative ways become progressively more shorthand, unreadable and unintuitive.
Does Ruby require the use of
[]
and{}
there? Because those%w
/%i
/etc things look like custom quoting operators and at least in Perl you can use any delimiter you want:qw(a b c)
is a list of strings, but so areqw+a b c+
andqw;a b c;
.Yes, but why?
https://en.wikipedia.org/wiki/Principle_of_least_astonishment