There are good reasons to start counting at 0 beyond convention. Dijkstra wrote a small essay on the topic in 1982 called "Why numbering should start at zero."
http://www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/EW...
As someone that started programming in languages that count from 1, I kind of disagree with that essay.
Specially when dealing with Algol derived languages, where the indexes can be specified in a flexible way.
The tradition of starting at 0 just got carried on to everything because having a standard is better than having to memorize what everything uses