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:53:10 -0700 (PDT)
Date: 2019-06-22T13:53:10-07:00	[thread overview]
Message-ID: <54e79882-6a0b-4f73-a079-3e92ea3b3274@googlegroups.com> (raw)
In-Reply-To: <e81c87e1-8090-45e4-892b-ea62585f4a38@googlegroups.com>

On Saturday, June 22, 2019 at 3:48:28 PM UTC-5, Optikos wrote:
> 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.

Doh!  (I added the [ ] and ( ) throughout the reply toward the end of editing.)  That sentence should have been:
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]).


  reply	other threads:[~2019-06-22 20:53 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
2019-06-22 20:53                             ` Optikos [this message]
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