posted 15 years ago
+1 for Mark
Ruby follows a different sort of OO implementation than Java. In Ruby, *everything* is an object. You don't have pseudo-objects like you do in java (int, char, long).
You communicate with objects via messages -- you send an object the message, either explicitly like foo.bar or implicitly like foo.send(:bar). The arguments are passed (ultimately) as an array. Most of the time you don't need to think of them being passed as such, but it's nice to have available, if needed. Since they're passed as an array, Ruby doesn't really care too much how many arguments are passed (unless you've declared that there are one or more arguments which do not have a default value).
Having the default value, like shown above, really makes more sense to me than overloading. I only need to look in one method to understand what's happening and I can easily create a default behaviour.
When Java came out, I thought it was great. I taught it for Sun for a while, too. My "dayjob" still uses it (at least a chunk of the time). But I've found Ruby to be "fun" and to increase my pleasure in coding.....