Not withstanding Dijkstra's logical arguments, I have adopted starting at 1 for 2 reasons:
1. I don't have to think about "shifting" data in order to look at it in the third language.
2. I don't have to "think" at all. It's intuitive that the first element is "1".
I just insert a null in the first position of any array in a 0-starting language.