A Usenet posting sent me to a short article by Edsger W. Dijkstra titled Why numbering should start at zero.
Now, I have never used a programming language that wasn’t zero-indexed (like Fortran), but neither have I adopted the habit of numbering lists starting with zero.
I think the difficulty I have with zero-indexing is that in normal English we refer to items in a list by ordinals: “first, second, third, … nth.” But translated into Common Lisp, we get the slightly disorienting:
(first *list*) ≠
(nth 1 *list*)
(that’s a not-equals sign for the Unicode-deprived)
Now, I understand that
nth is zero-indexed, just like
elt, and that’s consistent with how most other programming languages work. But then why don’t we have
I guess the simple answer is that zeroth isn’t normally thought of as a real word, except occasionally to refer to something added to a sequence “before the first.” My Websters Collegiate doesn’t even define it. Of course, the copy I have is from 1973; Webster’s online does include zeroth. Has zeroth entered the English language because of computers?