From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 2002:a37:4f8f:: with SMTP id d137mr11436845qkb.410.1561236791429; Sat, 22 Jun 2019 13:53:11 -0700 (PDT) X-Received: by 2002:aca:3809:: with SMTP id f9mr6416077oia.119.1561236791208; Sat, 22 Jun 2019 13:53:11 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!feeder.eternal-september.org!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!m24no6750334qtm.0!news-out.google.com!4ni335qtw.1!nntp.google.com!m24no6750324qtm.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Sat, 22 Jun 2019 13:53:10 -0700 (PDT) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=47.185.234.171; posting-account=zwxLlwoAAAChLBU7oraRzNDnqQYkYbpo NNTP-Posting-Host: 47.185.234.171 References: <728c4668-8fa0-4a57-a502-2bf476fc3940@googlegroups.com> <4908c3e3-18dc-4953-bf26-46f160d2ebfd@googlegroups.com> <9dcf22a2-2255-4089-b1f0-93e31448415e@googlegroups.com> <86h88obeu0.fsf@gaheris.avalon.lan> <39e749cd-de5c-44fa-b8ec-50d36f3bd52c@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <54e79882-6a0b-4f73-a079-3e92ea3b3274@googlegroups.com> Subject: Re: Latest suggestion for 202x From: Optikos Injection-Date: Sat, 22 Jun 2019 20:53:11 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Xref: reader01.eternal-september.org comp.lang.ada:56717 Date: 2019-06-22T13:53:10-07:00 List-Id: 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. > >=20 > > I disagree. Array indexing operations refer to elements of an array > > object. Function calls yield a value, and can have side effects. >=20 > It appears that it was the European predecessor languages of Algol58 that= introduced the [ ] notation for subscripts in imperative programming langu= ages. The IBM-dominated Americans utilized ( ) notation for subscripts in = all of their languages up to that point (and counting PL/I and Ada, a littl= e beyond). Without mentioning array-subscripting syntax per se, tne of the= principal contributors to Algol58 mentions this European-vs-American rival= ry on page 12 of: > https://web.archive.org/web/20120422070035/http://conservancy.umn.edu/bit= stream/107106/1/oh128flb.pdf >=20 > Hence, we have the pro-IBM [ ] syntax (e.g., Fortran, Cobol, PL/I, CHILL,= Ada) versus the pro-Algol58 ( ) syntax (Algol58, Algol60, Algol68, CPL, BC= PL, C) rivalry playing out 6 decades later in this thread. >=20 > What seems almost shockingly peculiar to me is that France-based Green Te= am chose the > American-oriented pro-IBM [ ] syntax instead of their favorite-son Europe= an ( ) syntax. Doh! (I added the [ ] and ( ) throughout the reply toward the end of editi= ng.) 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-s= on 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 w= as more to the > brackets-versus-parentheses rivalry than mere trans-Atlantic geography, a= s it seems to be during the > 1950s (e.g., ZMMD's languages and Algol60 versus Fortran and Cobol) and 1= 960s (e.g., Algol60 and > Simula versus PL/I). I strongly suspect that the European natural contin= ent-wide embrace of [ ] notation > for some sort of =E2=80=A2=E2=80=A2index register=E2=80=A2=E2=80=A2 has a= bracket-based syntactic antecedent in assembly languages on > European computers (e.g., Zuse? in West Germany) during the 1950s that wa= s absent in American > computers' assembly languages during that same period, hence why ZMMD nat= urally gravitated strongly > toward [ ] brackets whereas IBM-oriented Americans did not (and apparentl= y gravitated by default > toward mathematics' notation for f(x) itemized-inventory discrete functio= ns as the closest analogous > notation in mathematics when utilizing arrays as lookup tables [LUTs]).