The comment that modern languages use zero-indexing is somewhat misleading, because it isn't because of technical merits, but because of the popularity of C. It's no problem for the compiler to convert the one-indexing preferred by humans (or indeed most any indexing) to the zero-indexing used in the machine code. However, since C used zero-indexing and became so popular, most programmers are used to it. That's probably the reason it's used in most later languages.  