On 7/17/07, M. Edward (Ed) Borasky <znmeb / cesmail.net> wrote:
> Adrian Howard wrote:
> > Fortran doesn't care much either. There's a convention for starting at
> > 1, but the language allows you to specify an arbitrary index range for
> > your arrays.
>
> FORTRAN wasn't always that way. The ability to index arrays starting at
> some value other than one came fairly late in the language -- at least
> FORTRAN I, II and IV only started at 1. Does anyone here remember what
> it was in Algol 60? It must have been 0, since most languages that don't
> allow an arbitrary starting index are descended from Algol 60 and use 0.
>
> I should go look that up. :)

I never used ALGOL, but:

http://en.wikipedia.org/wiki/ALGOL_58
Both IAL and ALGOL 60 allowed arrays with arbitrary lower and upper
subscript bounds, and allowed subscript bounds to be defined by
integer expressions.

http://www.cs.virginia.edu/~mpw7t/cs655/pos2.html
ALGOL 68 was designed to be an improvement upon ALGOL 60. In ALGOL 60,
arrays could be multi-dimensional, they could be dynamically sized,
and their lower bound index could be non-zero [1].