From: Gavin Sinclair Date: 2002-09-11T22:48:36+09:00 Subject: Re: Larry Wall's comments on Ruby ----- Original Message ----- From: "Friedrich Dominicus" > matz@ruby-lang.org (Yukihiro Matsumoto) writes: > > > > 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. A language cannot offer every programming construct under the sun. Ruby doesn't offer pointer arithmetic, or even manual memory-management, for example, and we are all grateful for it. "Choice" in languages is a delicate thing. That's why we have language designers, to find the balance. It's certainly good for a language to provide a liberal dose of choice, but ultimately you need to exercise choice of languages as well. I personally am glad that multiple inheritence does not exist in Ruby. It gives me the choice to escape from it in other languages. Choice works in mysterious ways :) Despite the discussion and links, I haven't picked up on what multimethods actually are, so I can't comment on those. > 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 Gavin