Zooko O'Whielacronx wrote me the following insightful message a few
weeks ago:

    Is there a list for "discussion of things that were posted to
    kragen-tol"?.

    I liked someone's explanation -- citation forgotten -- of why we
    use half-open ranges for indexing.

    It went like this:

    If a human is counting out dollar bills on the table, he puts the
    first one down, and he *simultaneously* says "one".  Then he puts
    the second one down at the same instant that he says "two" and so
    forth.

    But computers (and high level programming languages) don't have an
    easy way to express that you *simultaneously* (atomically) do two
    things.

    So for modern high level programming languages, you need to
    choose: are you going to say "There are zero here." and then put
    down one, or are you going to say "There will be one here soon."
    and then put down one.

    This argument makes me think 0-indexed is obviously right.

    Regards,

    Zooko

Reply via email to