Tim Pease wrote: > On 7/16/07, ara.t.howard <ara.t.howard / gmail.com> wrote: >> >> On Jul 16, 2007, at 7:22 AM, Raphael Gillett wrote: >> >> > It is particularly puzzling that Ruby should hobble its >> > users in this way, because it is manifestly unnecessary (e.g., Fortran >> > and Pascal don't do it). >> >> >> and we all know how 'natural' *those* languages are do program in >> (ducks)... >> > > Actually, if Ruby had been implemented in Fortran or Pascal, then most > certainly arrays would have begun indexing with 1 instead of 0. > However, since it was implemented using C, Ruby follows the convention > of implementation. > > And we all know how easy it is to program in C ;-) I always thought it made more sense to index from zero. After all, an index represents an offset from the start, and the rest of the aspect is just a one to one correspondence. The first thing there could as easily be item Skattlebraught, the second being item Porktail, etc. The standard of C using 0 as an index happened because it made sense, not because it was merely different. I think Matz has typically adopted things that make the most sense, and though some may not be used to this, I don't find it unclear and it is more rational than starting with index 1, though it may be less popular among some people. I think we are always better off considering the adoption of something non-standard that might be better. After all, if not, we would never have gotten beyond COBOL and JCL, and we might all be living some "Brazil" Orwellian nightmare. > > Blessings, > TwP > > -- The only sustainable organizing methods focus not on scale, but on good design of the functional unit, not on winning battles, but on preservation.