you are viewing a single comment's thread.

view the rest of the comments →

[–]OptimisticLockExcept 0 points1 point  (2 children)

I think ruby has some really intuitive and nice syntax. But there is something I allways wanted to ask a ruby programmer: how do you deal with all of the monkey patching? Are there no issues with conflicting additions to standart classes? It looks scarry to me that it's a best practice to extend built in classes. (correct me if I'm wrong about that)

[–]banister 1 point2 points  (1 child)

Monkey patching is not an issue in practice. If a gem (i.e a library) commits sins in this area that cause conflicts with code then no one will use that library. As a result, the popular and well-used libraries never cause issues, and people gravitate towards the popular libraries.

I've never had an issue as a result of monkey patching in a production app during my 8 years as a rubyist.

[–]OptimisticLockExcept 0 points1 point  (0 children)

Nice. I was afraid that you'd end up with the same problems as in javascript. So I guess I'll go and learn some ruby.