in reply to
why the array index has to start at 0??
let's look at it this way...
we can access an array both ways, from the end as well as from the start ....accessing the array from the end you use -x where x is any number that corresponds to the array element position that we wanna capture from the end.
so, look at this line now and tell me if 0 was not there will it not have been bizarre that we are interfering with laws of Algebra???
...you find that 0 is central to preserve and make intact your brains from having to dare to change the $[ or having to think where the central "Head" of the array is? since the "First in everything is the head" and a first element in an array is its head, and a first number in the one the makes both sides of the sign equated is the big round fat 0