@@dedlfix
Wer sagt denn, dass das eine unbedachte Fehlentscheidung war? Diese 0 hat auch Vorteile, beispielsweise, dass ich nicht mit einem Offset hantieren muss, um den Monatsnamen in einem 0-basierenden Array abzufragen.
Dieses Argument wurde hier im Forum schon ad absurdum geführt. Der Regelfall sind wohl Datumsangaben wie 2019-03-18 oder 18.03.2019 mit Monat als Zahl – und da muss man bei Zählung des Monats von 0 bis 11 in Programmiersprachen jedesmal 1 dazuzählen. Je. Des. Mal.
Die Angabe mit Monatsnamen ist eher die Ausnahme. Und als Vorreiter des Kontextwechsels weißt du, wann man da wechseln sollte. In dem Fall genau dann, wenn die Zahl als Array-Index gebraucht wird, nicht früher.
(Außerdem ließe sich der Offset auch mit Dummy-Element umgehen: ['', 'Januar', …, 'Dezember
]` – wenn es denn lästig wäre, im seltenen Fall der Ausgabe von Monatsnamen 1 abzuziehen, was es kaum ist.)
War es vielleicht auch eine katastrophale Fehlentscheidung, 0-basierte Arrays zu erfinden, mit denen man letztlich einfacher rechnen kann
So, kann man das? Um das letzte Element eines Arrays zu erhalten: array[array.length - 1]
. Was genau ist da „letztendlich einfacher“, an der Stelle 1 abziehen zu müssen?
Dass es Programmiersprachen u.a. Anwendungen gibt, die bei 0 anfangen zu zählen, und solche, die bei 1 anfangen, macht die Sache erst richtig verwirrend. Das fiel ja auch schon in diesem Thread auf.
Und wer sagt, dass es irreparabel ist? Schreib dir eine Wrapper-Funktion, die eine dir genehmere Schnittstelle bietet.
Was die Sache dann auch nicht unbedingt weniger verwirrend macht.
LLAP 🖖
„Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann