Why didn't they design array index to start from 1? : <p>In many programming languages, the array index begins with 0. Is there a reason why it was designed so?</p>

<p>According to me, it would have been more convenient if the length of the array was equal to the last index. We could avoid most of the <code>ArrayIndexOutOfBounds</code> exceptions. </p>

<p>I can understand when it comes to a language like <code>C</code>. <code>C</code> is an old language and the developers may have not thought about the issues and discomfort. But in case of modern languages like java, they still had a chance to redefine the design. Why have they chosen to keep it the same?</p>

<p>Is it somehow related to working of operating systems or did they actually wanted to continue with the familiar behaviour or design structure (though new programmers face a lot of problems related to this)?</p>
