The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: bqt@update.uu.se (Johnny Billquist)
Subject: [TUHS] Array index history
Date: Fri, 9 Jun 2017 00:29:29 +0200	[thread overview]
Message-ID: <aefabb70-1bd4-06ae-6bdb-595168dbad74@update.uu.se> (raw)
In-Reply-To: <mailman.882.1496854900.3779.tuhs@minnie.tuhs.org>

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1495 bytes --]

On 2017-06-07 19:01, "Ron Natalie"<ron at ronnatalie.com> wrote:
> The original FORTRAN and BASIC arrays started indexing at one because everybody other than computer scientists start counting at 1.

FORTRAN, yes. BASIC (which dialect might we be talking about?) normally 
actually start with 0. However, BASIC is weird, in that the DIM 
statement is actually specifying the highest usable index, and not the 
size of the array.

Thus:

DIM X(10)

means you get an array with 11 elements. So, people who wanted to use 
array starting at 1 would still be happy, and if you wanted to start at 
0, that also worked. You might unintentionally have a bit of wasted 
memory, though.

> These languages were for scientists and the beginner, so you wanted to make things compatible with their normal concepts.

True.

> PASCAL on the other hand required you to give the minimum and maximum index for the array.

In a way, PASCAL makes the most sense. You still what range you want, 
and you get that. Anything works, and it's up to you.
That said, PASCAL could get a bit ugly when passing arrays as arguments 
to functions because of this.

> Of course, C’s half-assaed implementation of arrays kind of depends on zero-indexing to work.

:-)

   Johnny

-- 
Johnny Billquist                  || "I'm on a bus
                                   ||  on a psychedelic trip
email: bqt at softjar.se             ||  Reading murder books
pdp is alive!                     ||  tryin' to stay hip" - B. Idol


  parent reply	other threads:[~2017-06-08 22:29 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <mailman.882.1496854900.3779.tuhs@minnie.tuhs.org>
2017-06-08 18:20 ` David
2017-06-08 18:55   ` Ron Natalie
2017-06-09 21:21   ` Steve Johnson
2017-06-09 21:52     ` Arthur Krewat
2017-06-08 22:29 ` Johnny Billquist [this message]
2017-06-08 23:16   ` Ron Natalie
2017-06-08 23:41     ` Steve Nickolas
2017-06-09 15:12       ` Random832
2017-06-09 16:30         ` Ron Natalie
2017-06-09  0:21     ` Johnny Billquist
2017-06-09  0:25     ` Pete Turnbull
2017-06-09  1:19       ` Toby Thain
2017-06-09  2:14         ` Pete Turnbull
     [not found] <mailman.890.1496953026.3779.tuhs@minnie.tuhs.org>
2017-06-08 22:28 ` Johnny Billquist
2017-06-08  9:16 Richard Tobin
  -- strict thread matches above, loose matches on Subject: below --
2017-06-08  2:27 Doug McIlroy
2017-06-08 12:49 ` William Cheswick
2017-06-08 12:56   ` Michael Kjörling
2017-06-08 13:45     ` Dan Cross
2017-06-08 13:57       ` Ron Natalie
2017-06-10 21:08     ` Nemo
2017-06-08 15:04   ` Dave Horsfall
2017-06-08 15:09     ` William Pechter
2017-06-08 16:53     ` Steve Nickolas
2017-06-08 20:17     ` Larry McVoy
2017-06-09  0:03     ` Greg 'groggy' Lehey
     [not found] <CAH_OBiewwwS6kbdWKUO-j3v=Do+Y9AzBn4ZkyVic7LOJN5WX7w@mail.gmail.com>
     [not found] ` <CAH_OBid5q-YeB6UYeOfjW68s3nb3TX_icC5dFMapfo=7_q5DUQ@mail.gmail.com>
     [not found]   ` <CAH_OBideJeNGiiys=VOEYcU1cffSg+6zDOD39HOU74vumQF0kA@mail.gmail.com>
     [not found]     ` <CAH_OBie_+dQXOC2OaZii5K=j1Ljmv-OvAVXvyypoLJ10jaysWA@mail.gmail.com>
     [not found]       ` <CAH_OBidXd1Lpgp8ttM3sWLfXDT0ms5EGAzEjPH9QkY+bXyev2w@mail.gmail.com>
     [not found]         ` <CAH_OBifge2RrwcDvSV46gwLAc0wHVtH++gdMBhXi-x8C0a_2jw@mail.gmail.com>
     [not found]           ` <CAH_OBic3MTy-20C_T2ciT2x+EjNZvXR2PJ0OzB0qRp1gd2OL-g@mail.gmail.com>
2017-06-07 12:56             ` shawn wilson
2017-06-07 13:16               ` Ron Natalie
2017-06-07 13:20               ` arnold
2017-06-07 13:50                 ` Michael Kjörling
2017-06-07 14:02                   ` arnold
2017-06-08 11:28                     ` Christian Neukirchen
2017-06-08 14:56                       ` shawn wilson
2017-06-07 14:58                   ` Tony Finch
2017-06-07 23:57                     ` Dave Horsfall
2017-06-07 16:31                 ` Lyndon Nerenberg
2017-06-08  0:47                 ` Bakul Shah
2017-06-07 17:59               ` Tim Bradshaw
2017-06-07 18:29               ` Clem Cole
2017-06-07 18:46                 ` Arthur Krewat
2017-06-07 19:03                   ` Ron Natalie
2017-06-07 19:15                     ` Arthur Krewat
2017-06-07 19:49                       ` Ron Natalie
2017-06-08  1:58                       ` ARJANEN Loïc Jean David
2017-06-08 13:49                       ` Random832
2017-06-08 13:55                         ` Arthur Krewat
2017-06-08 18:41                       ` Tim Bradshaw
2017-06-08  2:45                     ` Robert Swierczek
2017-06-08  4:05                       ` Dave Horsfall
2017-06-08  6:19                       ` Peter Jeremy
2017-06-08  7:02                         ` Dave Horsfall
2017-06-08 13:53                         ` Ron Natalie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aefabb70-1bd4-06ae-6bdb-595168dbad74@update.uu.se \
    --to=bqt@update.uu.se \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).