Actually as Dijkstra clarified a long time ago, there are valid mathematical 
reasons that index should start at 0. Long story short, it comes in two parts:

1\. It's better to represent the indices of an array using a half open interval 
ie: `a <= i < b`. The reason is this allows you to compute the number of 
elements as a direct subtraction of the bounds `n = b - a`. It also gives you 
arguably a better representation of the empty set `a <= i < a` because you only 
need to specify one number (a) for both sides of the bound.

2\. If you agree with 1, then first element should start at index 0. The reason 
is you can write the bounds of the index of an array with n elements naturally, 
as `0 <= i < N`.

Now quite frankly I don't really care all that much either way. It's pretty 
easy to force Julia to use 0 index if need be and it certainly isn't my main 
reason for disliking Julia for enterprise usage.

Reply via email to