Intuitive Indexing
While most programming languages use 0-based indexing some people are not convinced that this is a good thing and not just the legacy of the language C. They argue that starting to index with one is more intuitive than starting to index with zero, and that there is no good reason to use 0-based indices besides pointer arithmetic which should not be of concern to higher level programming.
And to be fair, proponents of zero based indexing have mostly failed to provide a convincing argument for their preference (Dijkstra’s range argument aside). To remedy this, I am going to present 5 arguments for 0-based indexing and address the intuition argument of 1-based indexing.