Interestingly, we’ve got the same glitch in the Gregorian calendar, where the year 0 doesn’t exist. So the 21st century started in 2001…
Yup. We should really zero-index century names and years AD/BC as well, but we don’t. If we were still using Roman numerals it would be no big deal, but we rarely do, so there’s a confusing clash. I’m not sure if it was this programming humour community or another where I had a big exchange on the topic before.
I suppose you could have some kind of positional system that’s one-indexed, so 999AD = 1111999AD, and 2000 would be written 2111, but you’d have to completely redo the way arithmetic works, and that defeats the point a bit. And, the new 999 would not be our 999, because it’s effectively base 9.