comp.lang.ada
 help / color / mirror / Atom feed
From: Optikos <optikos@verizon.net>
Subject: Re: Latest suggestion for 202x
Date: Sat, 22 Jun 2019 13:48:26 -0700 (PDT)
Date: 2019-06-22T13:48:26-07:00	[thread overview]
Message-ID: <e81c87e1-8090-45e4-892b-ea62585f4a38@googlegroups.com> (raw)
In-Reply-To: <lnr27likgv.fsf@kst-u.example.com>

On Saturday, June 22, 2019 at 12:44:01 PM UTC-5, Keith Thompson wrote:
> "Dmitry A. Kazakov" writes:
> > On 2019-06-21 22:24, Keith Thompson wrote:
> >> "Dmitry A. Kazakov" writes:
> >>> On 2019-06-21 20:12, Keith Thompson wrote:
> >>>> I *can't* replace A by a function without modifying the code that uses
> >>>> it.
> >>>
> >>> In short if I can't do something then I don't need it, sour grapes...
> >>>
> >>>> I suppose containers weaken that argument
> >>>
> >>> No, it is no argument regardless.
> >>>
> >>> If Ada has problems with array abstraction, and it has, that is
> >>> irrelevant to the point that this is the *same* abstraction.
> >>>
> >>> A language that syntactically distinguish array calls and function calls
> >>> breaks the abstraction or lacks it completely.
> >>
> >> Is breaking that abstraction such a bad thing?
> >
> > Yes, because abstraction is useful. Arrays have no "physical"
> > meaning. It is always an artifact of software design, some
> > implementation detail, not to expose.
> >
> >> Why *should* array
> >> indexing and function calls be treated as the same thing?
> >
> > Because they model the same thing, a mapping, when arrays come in
> > consideration.
> 
> I disagree.  Array indexing operations refer to elements of an array
> object.  Function calls yield a value, and can have side effects.

It appears that it was the European predecessor languages of Algol58 that introduced the [ ] notation for subscripts in imperative programming languages.  The IBM-dominated Americans utilized ( ) notation for subscripts in all of their languages up to that point (and counting PL/I and Ada, a little beyond).  Without mentioning array-subscripting syntax per se, tne of the principal contributors to Algol58 mentions this European-vs-American rivalry on page 12 of:
https://web.archive.org/web/20120422070035/http://conservancy.umn.edu/bitstream/107106/1/oh128flb.pdf

Hence, we have the pro-IBM [ ] syntax (e.g., Fortran, Cobol, PL/I, CHILL, Ada) versus the pro-Algol58 ( ) syntax (Algol58, Algol60, Algol68, CPL, BCPL, C) rivalry playing out 6 decades later in this thread.

What seems almost shockingly peculiar to me is that France-based Green Team chose the American-oriented pro-IBM [ ] syntax instead of their favorite-son European ( ) syntax.  (ITU's European-PTT-centric CCITT choosing to follow PL/I's lead on ( ) array subscripting syntax in the Ccitt HIgh Level Language is no surprise at all since so much of CHILL is obviously designed by full-fledged unashamed IBM-lovers.)  By the late 1970s, there obviously was more to the brackets-versus-parentheses rivalry than mere trans-Atlantic geography, as it seems to be during the 1950s (e.g., ZMMD's languages and Algol60 versus Fortran and Cobol) and 1960s (e.g., Algol60 and Simula versus PL/I).  I strongly suspect that the European natural continent-wide embrace of [ ] notation for some sort of ••index register•• has a bracket-based syntactic antecedent in assembly languages on European computers (e.g., Zuse? in West Germany) during the 1950s that was absent in American computers' assembly languages during that same period, hence why ZMMD naturally gravitated strongly toward [ ] brackets whereas IBM-oriented Americans did not (and apparently gravitated by default toward mathematics' notation for f(x) itemized-inventory discrete functions as the closest analogous notation in mathematics when utilizing arrays as lookup tables [LUTs]).

  parent reply	other threads:[~2019-06-22 20:48 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-15 23:59 Latest suggestion for 202x Micah Waddoups
2019-06-16  5:14 ` Jerry
2019-06-16  7:17 ` Dmitry A. Kazakov
2019-06-16 10:22 ` Egil H H
2019-06-16 16:54   ` Maciej Sobczak
2019-06-16 20:09     ` Dmitry A. Kazakov
2019-06-17  6:54     ` Egil H H
2019-06-17  7:42       ` J-P. Rosen
2019-06-17 12:01     ` Mart van de Wege
2019-06-17 13:35       ` Maciej Sobczak
2019-06-17 15:20         ` Dmitry A. Kazakov
2019-06-17 15:32           ` Paul Rubin
2019-06-17 16:43             ` Dmitry A. Kazakov
2019-06-17 21:38           ` Keith Thompson
2019-06-18 15:48             ` Jeffrey R. Carter
2019-06-20 22:21             ` Randy Brukardt
2019-06-21  9:42               ` Dmitry A. Kazakov
2019-06-21 18:12                 ` Keith Thompson
2019-06-21 18:43                   ` Dmitry A. Kazakov
2019-06-21 20:24                     ` Keith Thompson
2019-06-22  6:54                       ` Dmitry A. Kazakov
2019-06-22  8:43                         ` Randy Brukardt
2019-06-22  9:00                           ` Dmitry A. Kazakov
2019-06-22 17:44                         ` Keith Thompson
2019-06-22 18:34                           ` Bill Findlay
2019-06-22 18:37                           ` Dmitry A. Kazakov
2019-06-23  7:38                             ` G.B.
2019-06-23  8:29                               ` Dmitry A. Kazakov
2019-06-23 18:34                               ` Optikos
2019-06-23 19:20                                 ` Dennis Lee Bieber
2019-06-22 20:48                           ` Optikos [this message]
2019-06-22 20:53                             ` Optikos
2019-06-23 17:42                             ` Dennis Lee Bieber
2019-06-24  5:07                               ` J-P. Rosen
2019-06-24  5:40                                 ` Paul Rubin
2019-06-24  7:16                                   ` Niklas Holsti
2019-06-26 18:00                                     ` Stephen Leake
2019-06-24 13:07                                   ` J-P. Rosen
2019-06-24 11:12                                 ` Stefan.Lucks
2019-06-24 12:06                                   ` Niklas Holsti
2019-06-24 20:22                                     ` Randy Brukardt
2019-06-24 20:32                                       ` Keith Thompson
2019-06-24 20:47                                       ` Jeffrey R. Carter
2019-06-24 13:10                                   ` J-P. Rosen
2019-06-22  8:36                   ` Randy Brukardt
2019-06-22 17:39                     ` Keith Thompson
2019-06-16 19:34 ` Optikos
2019-06-16 20:10   ` John Perry
2019-06-16 20:57     ` Optikos
2019-06-16 21:36       ` Dmitry A. Kazakov
2019-06-17 16:48     ` G. B.
2019-06-17 17:12     ` Paul Rubin
2019-06-16 21:41 ` Lucretia
2019-06-19  2:36 ` Micah Waddoups
2019-06-19 11:14   ` Lucretia
2019-06-19 11:45     ` briot.emmanuel
2019-06-19 14:34       ` Optikos
2019-06-19 19:29         ` Lucretia
2019-06-19 16:12   ` G. B.
2019-06-23 20:17 ` Per Sandberg
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox