It was not randomly decided. Even before arrays as a language concept existed, you would just store objects in continuous memory.
To access you would do $addr+0, $addr+1 etc. The index had to be zero-based or you would simply waste the first address.
Then in languages like C that just got a little bit of syntactic sugar where the ‘[]’ operator is a shorthand for that offset. An array is still just a memory address (i.e. a pointer).
It was not randomly decided. Even before arrays as a language concept existed, you would just store objects in continuous memory.
To access you would do $addr+0, $addr+1 etc. The index had to be zero-based or you would simply waste the first address.
Then in languages like C that just got a little bit of syntactic sugar where the ‘[]’ operator is a shorthand for that offset. An array is still just a memory address (i.e. a pointer).