[Python-ideas] List Revolution

Guido van Rossum guido at python.org
Sun Sep 11 00:34:45 CEST 2011

On Sat, Sep 10, 2011 at 3:11 PM, Christopher King <g.nius.ck at gmail.com> wrote:
> I think there is some confusion about my idea (I didn't intend it as a joke,
> but I was unsure, I was really surprised when Guido endorsed. I think people
> have been thinking that my idea was as follows:
>>>> items=['a', 'b', 'c']
>>>> items.first
> 'a'
>>>> items.second
> 'b'
>>>> items.third
> 'c'
> It is not that. I would not want it to be in words. That would be dumb what
> my idea was was this:
>>>> items=['a', 'b', 'c']
>>>> items[1]
> 'a'
>>>> items[2]
> 'b'
>>>> items[3]
> 'c'
> I'm not sure if this one is good, but if not, I'm sure you we come up with
> another line of jokes (I like jokes, so its alright.)

I understood that. -- I think others did too but found the proposal so
preposterous that they started posting nonsensical "solutions" based
on an intentionally literalistic misreading of your original post. (If
you think this is odd, realize that Python was named after Monty
Python's Flying Circus -- we occasionally like to show off our warped
sense of humor. :-)

Anyway, the reason your proposal is not going to fly, quite apart of
whether it would be a good idea for a brand new language design(*), is
that there is over 20 years of existing Python code that would have to
be changed, not to mention the brains of millions of users, and
hundreds of books about Python. Plus pretty much every other language
in widespread use today (C, C++, Java, C#, JavaScript, Ruby, to name a
few; presumably also Objective C given its C inheritance) agrees that
indexes start at zero. It is a cultural battle that  has been fought
and won long ago (all the old languages used 1-based indexing:
Fortran, Algol, Pascal) and it's really not that important in the
grand scheme of things, so the status quo wins.

(*) I personally think 0-based indexing is better, and the referenced
EWD expresses why better than I could. But I'm sure that if we lived
in a world where 1-based indexing was the norm I'd get by just fine.

--Guido van Rossum (python.org/~guido)

More information about the Python-ideas mailing list