Actually, array indices do make sense as negative. For example, you might want an array going from a[-500] to a[700], without having to adjust the index all the time. It is much nicer if the array does it for you. Fortran lets you change the starting index if I remember correctly.
Most commonly you'll actually want to go positive, and have an array going from a[1970] to a[2013] or something similar.