M. Edward (Ed) Borasky wrote:
> Well ... the reason the first major programming language, FORTRAN, used
> 1-based indexing is that it was designed for scientific computing, which
> uses matrices extensively. And a matrix in a textbook or research paper
> almost always has row and column indices ranging from 1 to N. So ... one
> of the things 1-based indexing makes simpler is thinking about matrices.

> Assembly language programming, at least on binary machines,

...all the decimal machines I can recall, too...

> is a lot
> more natural with 0-based indexing, since that's the way the hardware is
> laid out.

PL/I implementations have historically regarded the address of an array 
as being where the (0, 0, 0...) element would be, even if one doesn't 
exist, to reconcile these two.

-- 
John W. Kennedy
A proud member of the reality-based community.