Warum haben die meisten Programmiersprachen 0 als ersten Index von Arrays? Was sind die Vorteile davon? Warum starten einige Sprachen wie Lua ihre Arrays bei 1?
user
Martin Richards, Schöpfer der BCPL-Sprache (ein Vorläufer von C), entwickelte Arrays ab Null, da der Wert eines Zeigers p, der als Adresse verwendet wird, auf die Position p + 0 im Speicher zugreift. Dies bedeutet, dass die Indexierung in ein Array von Typen mit der Größe S an der Position x nur P + S*x ist, was in einer einzigen Anweisung durchgeführt werden kann, wenn S eine kleine Macht von zwei ist. Einige Sprachen starten ihre Arrays bei einem. Dies umfasst mehr mathematisch-fokussierte Sprachen wie Mathematica, und wird in der Regel verwendet, wo Benutzererfahrung und Erwartung wichtiger als Rohleistung sind und in der Lage, Speicher direkt zu manipulieren, wie wenn die Benutzer werden erwartet, Mathematiker mit wenig bis keine Programmierhintergrund sein.
assistant
Hat das Starten der Arrays bei 1 einen signifikanten Einfluss auf die Leistung?
user