From: matz@... (Yukihiro Matsumoto) Date: 2002-09-11T23:22:26+09:00 Subject: Re: Larry Wall's comments on Ruby Hi, In message "Re: Larry Wall's comments on Ruby" on 02/09/11, Friedrich Dominicus 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. I'm sorry if you are bothered by my "smarter than" stuff. It was only a parable. But it has too important issue to ignore. There's two major opposite attitude in designing and criticizing languages (and perhaps other thing too). They are minimalism and maximalism. In a word, it's fight against alternatives. One wants as less alternatives as possible. Other wants opposite. For example, people who hate "unless" in Ruby are minimalist. And people who want as many choice as possible are maximalist. And I believe a good language design lies somewhere between these two extreme spectrum. Because "ordinary people" often feel uncomfortable in extreme situation. We don't use the simplest language ever (machine instruction) anymore. We don't use the most complex language either (Ada? PL/I? whatever). It's the matter of balance. Why no extreme? Because the capability of human brain is limited. But it's capability is vary person to person. Some people have bigger ability enough to handle extreme condition. They even feel more comfortable in the situation. You may remember the story of "real programmers". They loved FORTRAN and Assembler. And language designers, often being a real programmer, tends not to understand these "ordinary people". They are very easy to go extreme. That's what I meant by "smarter than" stuff. |Having too restrictive tools restricts you too. Yes. Tools should not be *too* restrictive. And having too unrestrictive tools hinder your work. Again, it's the matter of balance. matz.