This relates to the argument about whether array indexes should start at one or zero. The standard argument for one-indexing is that it is what people do. But do they really do that?
The first century is 1 to 100. The second century is 101 to 200. and so on. After a while things get a bit blurry. Eventually the 21st century is 2000 to 2099, as proven by humans holding their big parties on Jan 1st 2000 instead of Jan 1st 2001.
Humans start at one, but weary of the strict logic of it. Without acknowledging it and without agreeing which century, humans sneak in a 99 year century so that centuries work as if zero-indexed; 0-99, 100-199,...,1900-1999, 2000-2099.
What then of the argument "Array indexes should start at 1 because that is what humans do."? It fails two ways. First, that is not in fact what humans do, (and the parenthetical strangely is evidence of that.) Second, humans weary of strict logic. Having the computer do what humans do is a bad idea.
Maybe the big parties were not so much to celebrate the arrival of the 21st century, but the arrival of the magical year 2000 with its flying cars and stuff.
The first century is 1 to 100. The second century is 101 to 200. and so on. After a while things get a bit blurry. Eventually the 21st century is 2000 to 2099, as proven by humans holding their big parties on Jan 1st 2000 instead of Jan 1st 2001.
Humans start at one, but weary of the strict logic of it. Without acknowledging it and without agreeing which century, humans sneak in a 99 year century so that centuries work as if zero-indexed; 0-99, 100-199,...,1900-1999, 2000-2099.
What then of the argument "Array indexes should start at 1 because that is what humans do."? It fails two ways. First, that is not in fact what humans do, (and the parenthetical strangely is evidence of that.) Second, humans weary of strict logic. Having the computer do what humans do is a bad idea.