From: Friedrich Dominicus Date: 2002-09-11T14:36:14+09:00 Subject: Re: Larry Wall's comments on Ruby matz@ruby-lang.org (Yukihiro Matsumoto) writes: > Hi, > > In message "Re: Larry Wall's comments on Ruby" > on 02/09/10, "Christoph" writes: > > |> I don't take multi-method just because it does not fit in traditional > |> OO model, which I prefer. A method does not belong particular class > |> anymore. > | > |However (multi)-methods could ``belong'' to several (specified) classes. > |This does seem to be very popular and is certainly more difficult to > |implement but I find this much more natural than the traditional > |OO-model. The most prominent example, is the completely unnatural > |choice of the left summand as a method receiver in additions ``a + b''. > > Multi-method is kinda like multiple inheritance. It is *natural* > extension of the original concept. It is theoretically clean. But it > is easy to make thing too complex with them. Only smart people can > use their full power. If you see no problem, it's because you're > smarter than me. ;-) Sorry I do not like this smarter than anyone else stuff. even with a ;-) You do not have to use multiple inheritance if you do not like it. You do not have to use Multimethods if you don't like it. And you can avoid using a lot of other thing if you do not like them. But it's your (the programmers) choice. If the langauge does not offer those facilities you simply do not have a choice. I would think that having the choice is a good thing. Otherwise we could all get alond with castrated languages, where you fight the langauge and do not do what you really should do, solving a problem (not related to the language) Another counterexample of not giving people a choice have I written down here: http://www.wikiservice.at/dse/wiki.cgi?SpracheEiffel I do not have the mentioned problem with Ruby. I do not have it in Common Lisp but I do had have it in Eiffel. Having too restrictive tools restricts you too. Regards Friedrich