From: dblack@... Date: 2002-09-10T01:57:09+09:00 Subject: Ruby and blender speeds (was: Re: Ruby aesthetics) Hello -- On Tue, 10 Sep 2002, William Djaja Tjokroaminata wrote: > Yukihiro Matsumoto wrote: > > > |I am never happy with natural language metaphors for computer languages. > > |Natural languages are HARD to learn (ask Larry Wall about Japanese!). > > |Computer languages should strive to be much easier. Natural languages have > > |many ambiguities in them. Computer languages must drive the ambiguities > > |out. The rules defining natural languages are so complicated that > > |linguists can't agree on them. > > > I do agree with the aspect of natural language you stated. But still, > > my point about brain bits is unrelated with the aspect. I was talking > > about alternatives in languages, not ambiguities. > > I still feel that we are better off without alternatives in a computer > language. To draw an analogy, C is logically very simple, it has only > four (main) components: array, structure, function, and pointer. But from > this minimal components, we can write almost any imaginable code > (including Ruby itself). Interesting. I agree with both of you :-) Well, I think that some of the things we've been talking about in Ruby are not exactly alternatives, in the sense that (I thin) you mean, but rather synonyms. For example, even though there's both "unless" and "if not", there is not (say) a separate keyword for "if_integer_is_greater_than_5". Sometimes there's discussion of having new methods that essentially combine what existing methods do, especially array and/or Enumerable ones. I tend to like having a few, and chaining them together. I'm not saying there's no good argument for some of the new ones, but once it goes in that direction, there's sort of no argument *against* any imaginable one. As for blender speeds... I've often heard that really good cooks don't need fancy blenders with 10 or 12 speeds, but only three speeds, and that by using those speeds with skill, they can do anything. I feel that way about things in Ruby: there shouldn't be a separate tool for every task, because tools can be combined. So I guess that still leaves me wondering why I don't object to "synonyms".... I think it's because they're really synonyms, with the same syntactical status as each other. Having "unless" and "if not" means that there's choice along the synonym axis, but without adding granularity or special cases to the language. David -- David Alan Black | Register for RubyConf 2002! home: dblack@candle.superlink.net | November 1-3 work: blackdav@shu.edu | Seattle, WA, USA Web: http://pirate.shu.edu/~blackdav | http://www.rubyconf.com