Em matemática - e linguagem de programação é matemática pura - qualquer base numérica começa do zero. No caso de programação, a base numérica nativas dos computadores é a binária. Assim, a primeira posição de memória é 00000(etc)0000000, e não 0000(etc)0000001. Todas as linguagens de programação se baseiam neste princípio (afinal tudo é compilado para a memória binária) - incluindo as arrays.
Fora isso, mudar para início em um signica ter que mudar TODAS as linguagens de programação, incluindo migrar TUDO que já existe, o que é impossível - ainda mais sem um motivo prático concreto.
Respondendo a "Bike shedding." dentro da publicação [Não disponível]
0