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:a24:4a8b:: with SMTP id k133mr533770itb.98.1559835028641; Thu, 06 Jun 2019 08:30:28 -0700 (PDT) X-Received: by 2002:aca:5ed7:: with SMTP id s206mr414673oib.122.1559835028346; Thu, 06 Jun 2019 08:30:28 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!feeder.eternal-september.org!news.gegeweb.eu!gegeweb.org!fdn.fr!proxad.net!feeder1-2.proxad.net!209.85.166.216.MISMATCH!g15no45136itd.0!news-out.google.com!l135ni168itc.0!nntp.google.com!s188no51297itb.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Thu, 6 Jun 2019 08:30:28 -0700 (PDT) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=2601:3c3:401:f550:3d02:e207:41bc:e0b8; posting-account=JSxOkAoAAADa00TJoz2WZ_46XrZCdXeS NNTP-Posting-Host: 2601:3c3:401:f550:3d02:e207:41bc:e0b8 References: <28facad3-c55f-4ef2-8ef8-004925b7d1f1@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <38bef98a-f82d-46af-b24b-94ed5591f781@googlegroups.com> Subject: Re: Why .ads as well as .adb? From: John Perry Injection-Date: Thu, 06 Jun 2019 15:30:28 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Xref: reader01.eternal-september.org comp.lang.ada:56497 Date: 2019-06-06T08:30:28-07:00 List-Id: First, this has gotten way off topic. Thanks to everyone who replied, and w= ho followed up to my other questions. I appreciate it. Anyway: On Thursday, June 6, 2019 at 2:29:30 AM UTC-5, Maciej Sobczak wrote: > In either case (in both styles) the argument that "Ada's comb" is superio= r is just not convincing. Which might explain why every new programming lan= guage either adopts C-style braces or resigns from distinct bracketing alto= gether. The subsequent argument that the whole world is idiots would not be= convincing, either - this apparently is an inherent property of our visual= system that delimiters need be visible enough to be noticed, but should no= t dominate over the actual (delimited) content. I think this is due to the prevalence of brace-delimiter languages as a fir= st language, and the fact that those who learn something one way think ever= ything else should work the same way. I've had conversations with students = to that very effect. I learned Pascal at university, and even though I use C++ a lot, I have nev= er grown to like braces as delimiters, precisely because they can be a bit = hard to spot at times. I don't think it an accident that there's an annual = "Obfuscated C Programming Contest" [1] and there was an "Obfuscated Perl Co= ntest" [2] but no "Obfuscated Ada Programming Contest" (to my knowledge, an= yway). When I first heard of Python's use of colon + indentation, I thought it was= ridiculous, in part because I thought that anything that didn't use begin/= end was ridiculous. (I was younger & stupider than now.) However, once I ac= tually read some Python code, and started writing it, I realized that this = is actually a really good idea. (Sorry if this makes me look horrible, but = it's my opinion.) Funny enough, my students often struggle with getting Python's indentation = correct. In any case, I don't think it an accident that languages that focu= s on safety and careful programming use variants of "begin" and "end". > Note: sentences are delimited by dots. Just like the sentence you are rea= ding right now. And parts are delimited by commas, just like, you know, the= parts of this very sentence. > And it worked for ages. And we are used to it so much that we would refus= e anything different. >=20 > Why? >=20 > Because our very brains are wired exactly to expect that. >=20 > Do you think it would be better to have delimiters and separators that ar= eQWERTY you knowQWERTY so bigQWERTY that they take significant part of the = spaceQWERTY with huge terminatorsQWERTY tooQWERTY so that we can see them b= etterASDFGHJ? IMHO this argument doesn't work the way you think. What you're actually tal= king about here compares to semicolons, not to braces or begin/end. Both C = and Ada use semicolons. Braces or begin/end are used for blocks of related code. In print, we separ= ate blocks of related text by paragraphs, which have a lot of space and/or = indentation. Chapters of a text start with much larger text, often titles, = and often conclude with graphics. In mathematics, the beginning and end of a proof are both delimited by spec= ial symbols (e.g., "Proof." and "QED" or a box) So I think you're comparing apples and oranges here. [1] https://www.ioccc.org [2] https://en.wikipedia.org/wiki/Obfuscated_Perl_Contest