Se vuoi il primo elemento della lista o dell'array, lo fai riferimento a 0 in molte lingue (come C o Clojure). Ci sono davvero dei buoni motivi per cui i linguaggi di programmazione sono stati progettati in questo modo?
Nei vecchi tempi nei linguaggi di assemblaggio ha perfettamente senso perché è necessario utilizzare tutti i valori possibili.
Ma cosa lo fanno oggi in questo modo? C'è molto poco vantaggio quando l'aritmetica modulo e gli intervalli ( articolo di Wikipedia. ) ma non molto di più.
Da un lato degli svantaggi dovrebbe essere: Fa confusione perché è il linguaggio umano il primo è connesso con 1 (1 ° e non è solo in inglese). Rende confusione anche in XPath ( W3School: "Nota: in IE 5,6,7,8,9 il primo nodo è [0 ], ma secondo W3C, è [1]. "). Ci sono problemi tra le lingue che usano sistemi basati su 1 e 0.
Vuoi sapere quali sono i buoni motivi per utilizzare la numerazione basata su zero e perché persino il creatore di nuovi linguaggi (come Clojure) sceglie in questo modo?