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].