Earlier quoted context omitted.
> A bunch of wrongs don't make a right :-) Funny how I always thought zero-based numbering[0] was a hack. Just in computer science a hack will become the right way? Any other fields where hacks became the new norm due to technical restrictions? Your statement is a opinion. To add to the list of languages using arrays in a "gross" way: pgsql, pascal, lua. [1]: https://en.wikipedia.org/wiki/Zero-based_numbering#Origin
I always thought it neatly mimicked the way we think of age. When you are born you start at 0. You only turn 1 after you have lived a year.
At age 0, you have no elements in your array of years. So the first year is also element 1.
If you want code to reflect the way you've done counting and arithmetic your whole life, you'd want it to start at 1.