4 ms·
No it’s not a great language. Too many ways to do the same thing. Not packaged by default on most Linux. Monkey patching makes things even harder to debug.
by didip 2y ago
No it’s not a great language.
Too many ways to do the same thing.
Not packaged by default on most Linux.
Monkey patching makes things even harder to debug.
- ekianjo 2y agoyeah. The not packaged by default is the killer issue.
- Alifatisk 2y agoYou are one command away from having ruby in your system, is the threshold really that high?
- dwheeler 2y agoRuby is packaged for all significant Linux distros. It isn't installed by default in many, but installing it is a trivial one-time command, and it takes relatively little space.
- x3n0ph3n3 2y agoMonkey patching isn't the norm anymore and not really a valid complaint in this decade.
- manume 2y agoHearing people still mention "monkey patching" always makes me chuckle... I haven't "monkey patched" anything in Ruby in > 5 years, and I don't see it in any of the popular libraries/gems anymore either.
- p_l 2y agoEspecially when the big difference is that Ruby had proper OO system that allowed patching, when necessary, to be done in much saner way... whereas the origin of monkey patching seems to by Python with its totally broken magical method names and kitbashed object model.
- x3n0ph3n3 2y agoModule#prepend was introduced in Ruby 2.0, in 2013, which was the solution to monkey patching.
- dragonwriter 2y agoWell, that and Module#refine.
- alabhyajindal 2y agoYou're the one doing monkey patching when you're writing a program. Don't do it if you think it makes things hard.
- Alifatisk 2y agoMonkey patching can be done in a controlled way using Kernel#refine
- lucasoshiro 2y agoYou can say similar things for Bash or Python (or Perl, JS, etc): > Too many ways to do the same thing. In Bash you can use backticks, $(), and bash -c for the same thing. And also [ ], [[ ]], test. And so on. > Not packaged by default on most Linux. You can install it. Some distros (e.g. Alpine) even don't ship Bash. If you are restricted to only what comes by default in an operating system, then probably a simple script written in sh may be the solution. > Monkey patching makes things even harder to debug. Just because you can doesn't mean that you should. I won't label something as "hard to debug" for features that I don't need to use, I label as "hard to debug" for features that I _need_ to use. Then I can say: Bash is hard to debug.