On Thu, 2004-09-30 at 12:50, Zach Dennis wrote: > The '..' and the '...' are used only in the context which includes both > of those operators [...] when you put it in a larger context which > includes '...' and consider the behavior of both '..' and '...' then > it appears that they are backwards. [...] I have not seen a reasonable > argument for why the other way around, besides that it is the way it is > done now. [...] My best guess is that the '..' was created in whatever > language it showed up in first. Later down the road someone came up > with the idea to have an "exclusive" range operator and they implemented > the '...' so they would not break compatibility. > > I do not have a problem with the current behavior except that it isn't > natural, and it isn't the expected behavior *unless* you have already > learned what '..' and '...' do. My hope is that as Ruby becomes a better > language in the future that this be rethought. [...] Wouldn't it be > great if future programmers didn't have to do that? If we made it one > more step more natural to where it makes sense to the programmer? By the same logic you could argue (as some did, years ago) that the terms String and List are backwards. In non-programming usage, a "list of things" connotes propinquity while a "string of things" implies some sort of linkage of each to its successor. Yet their usage in computer science is the opposite of this. Should we then start calling sequences of characters in adjacent storage "lists" and things threaded together by pointers "strings" so that future programmers don't have to retrain their brains? This may sound absurd, but only a few decades ago the question was raised in much the same spirit as the present discussion. -- MarkusQ