Live data from Hacker News

Ruby Is The Future

enfranchisedmind.com

1–10 of 56 posts

Re: Ruby Is The Future

#2
The author claims that monkey-patching private methods to expose them publicly is representative of Ruby's beauty, and specifically:

"... later upgrades to the library don’t need to be re-fixed: the one-time patch will automatically get re-applied by application code automatically!"

Anyone who fails to realize how monkey-patching can and will break both subtly and catastrophically across library upgrades has no business advising anyone regarding language choices.

[Edit] I hate April Fool's Day. Depressingly, the author's satire is so subtly aligned with common arguments as to so thoroughly fool.

Re: Ruby Is The Future

#3
post #2

The author claims that monkey-patching private methods to expose them publicly is representative of Ruby's beauty, and specifically: "... later upgrades to the library don’t need to be re-fixed: the one-time patch will automatically get re-applied by application code automatically!" Anyone who fails to realize how monkey-patching can and will break both subtly and catastrophically across library upgrades has no busin…

Just because it's a satire doesn't mean the title in incorrect. I would argue that Ruby is, in fact, the future for the same reason that Python is the future.

As for monkey patching, yes, it's ill-advised in general just as global scope and gotos are ill-advised for similar reasons. However, monkey patching is a powerful feature if used responsibly as Chad Fowler has noted ("The Virtues of Monkey Patching"):

http://chadfowler.com/index.cgi/Computing/Programming/Ruby/T...

Now admittedly, not every programmer is as competent or responsible as Chad Fowler or the programming world would be a very different place but the point is there's a right way and a wrong way to do it.

Werner Schuster's article on InfoQ ("Ruby's Open Classes - Or: How Not To Patch Like A Monkey") has more good advice on how to do it the right way:

http://www.infoq.com/articles/ruby-open-classes-monkeypatchi...

Re: Ruby Is The Future

#4
post #3
post #2

The author claims that monkey-patching private methods to expose them publicly is representative of Ruby's beauty, and specifically: "... later upgrades to the library don’t need to be re-fixed: the one-time patch will automatically get re-applied by application code automatically!" Anyone who fails to realize how monkey-patching can and will break both subtly and catastrophically across library upgrades has no busin…

Just because it's a satire doesn't mean the title in incorrect. I would argue that Ruby is, in fact, the future for the same reason that Python is the future. As for monkey patching, yes, it's ill-advised in general just as global scope and gotos are ill-advised for similar reasons. However, monkey patching is a powerful feature if used responsibly as Chad Fowler has noted ("The Virtues of Monkey Patching"): http://c…

As noted in Werner Schuster's article, many languages (such as C# or Scala) do support type-safe, non-ambiguous, non-conflicting extension of existing classes, demonstrating that extension of existing classes can be safely implemented and does not require the use of dangerous monkey-patching.

Re: Ruby Is The Future

#6
post #5

Just two words: "Hopefully not..."

Why? Because of monkey patching, syntax, performance, the community or some other reason such as you prefer Python or have an intuitive, ineffable and unexpressable disklike of the language or because Matz is from Japan and they bombed Pearl Harbor?

Re: Ruby Is The Future

#8
post #4
post #3

Earlier quoted context omitted.

Just because it's a satire doesn't mean the title in incorrect. I would argue that Ruby is, in fact, the future for the same reason that Python is the future. As for monkey patching, yes, it's ill-advised in general just as global scope and gotos are ill-advised for similar reasons. However, monkey patching is a powerful feature if used responsibly as Chad Fowler has noted ("The Virtues of Monkey Patching"): http://c…

As noted in Werner Schuster's article, many languages (such as C# or Scala) do support type-safe, non-ambiguous, non-conflicting extension of existing classes, demonstrating that extension of existing classes can be safely implemented and does not require the use of dangerous monkey-patching.

dealing with the type system in scala can be a pain and is a hit to productivity in the early stages. The question is if the hit in the early stages leads to more productivity in the later stages. I'm not convinced that it does.

I've done a lot of ruby, and I've had monkey patching bite me a few times. However, fixing the problem was never that hard (two days max) and is clearly overshadowed by the productivity gained from the power ruby gave my teams.

Re: Ruby Is The Future

#9
post #6
post #5

Just two words: "Hopefully not..."

Why? Because of monkey patching, syntax, performance, the community or some other reason such as you prefer Python or have an intuitive, ineffable and unexpressable disklike of the language or because Matz is from Japan and they bombed Pearl Harbor?

I think (and I mostly code Ruby these days) it's not least because of comments like this.

Re: Ruby Is The Future

#10
post #9
post #6

Earlier quoted context omitted.

Why? Because of monkey patching, syntax, performance, the community or some other reason such as you prefer Python or have an intuitive, ineffable and unexpressable disklike of the language or because Matz is from Japan and they bombed Pearl Harbor?

I think (and I mostly code Ruby these days) it's not least because of comments like this.

[deleted]
Post reply on HN