comp.lang.ada
 help / color / mirror / Atom feed
From: John Perry <john.perry@usm.edu>
Subject: Re: Why .ads as well as .adb?
Date: Thu, 6 Jun 2019 08:30:28 -0700 (PDT)
Date: 2019-06-06T08:30:28-07:00	[thread overview]
Message-ID: <38bef98a-f82d-46af-b24b-94ed5591f781@googlegroups.com> (raw)
In-Reply-To: <f68aa6c9-111b-482e-b41b-9ec0fcc76b16@googlegroups.com>

First, this has gotten way off topic. Thanks to everyone who replied, and who 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 superior is just not convincing. Which might explain why every new programming language either adopts C-style braces or resigns from distinct bracketing altogether. 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 not dominate over the actual (delimited) content.

I think this is due to the prevalence of brace-delimiter languages as a first language, and the fact that those who learn something one way think everything 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 never 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 Contest" [2] but no "Obfuscated Ada Programming Contest" (to my knowledge, anyway).

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 actually 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 focus on safety and careful programming use variants of "begin" and "end".

> Note: sentences are delimited by dots. Just like the sentence you are reading 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 refuse anything different.
> 
> Why?
> 
> Because our very brains are wired exactly to expect that.
> 
> Do you think it would be better to have delimiters and separators that areQWERTY you knowQWERTY so bigQWERTY that they take significant part of the spaceQWERTY with huge terminatorsQWERTY tooQWERTY so that we can see them betterASDFGHJ?

IMHO this argument doesn't work the way you think. What you're actually talking 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 separate 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 special 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

  reply	other threads:[~2019-06-06 15:30 UTC|newest]

Thread overview: 88+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-02  0:48 Why .ads as well as .adb? John Perry
2019-06-02  5:42 ` J-P. Rosen
2019-06-02  6:39 ` Dmitry A. Kazakov
2019-06-03  7:35   ` Maciej Sobczak
2019-06-03  7:57     ` J-P. Rosen
2019-06-03 19:49       ` Keith Thompson
2019-06-04  8:03       ` Maciej Sobczak
2019-06-03  8:13     ` Dmitry A. Kazakov
2019-06-03 19:51       ` Keith Thompson
2019-06-03 20:18         ` Dmitry A. Kazakov
2019-06-04  8:24       ` Maciej Sobczak
2019-06-04  9:33         ` Dmitry A. Kazakov
2019-06-05  9:04           ` Maciej Sobczak
2019-06-05 12:48             ` Dmitry A. Kazakov
2019-06-05 17:12               ` G. B.
2019-06-05 18:50                 ` Optikos
2019-06-05 22:57                   ` Randy Brukardt
2019-06-04 22:28         ` Randy Brukardt
2019-06-05  8:28           ` Maciej Sobczak
2019-06-05  9:20             ` J-P. Rosen
2019-06-05  9:28               ` Paul Rubin
2019-06-05 10:11                 ` Niklas Holsti
2019-06-05 12:58                   ` Maciej Sobczak
2019-06-05 14:28                     ` Niklas Holsti
2019-06-06  7:34                       ` Maciej Sobczak
2019-06-06 19:51                         ` Keith Thompson
2019-06-06 20:27                           ` J-P. Rosen
2019-06-06 21:12                         ` Randy Brukardt
2019-06-06 21:17                         ` Randy Brukardt
2019-06-06 22:08                           ` Dennis Lee Bieber
2019-06-07  7:59                           ` Maciej Sobczak
2019-06-07 10:42                             ` alby.gamper
2019-06-07 16:59                               ` Dennis Lee Bieber
2019-06-07 14:10                             ` Brad Moore
2019-06-07 23:37                               ` Paul Rubin
2019-06-08  1:16                                 ` Brad Moore
2019-06-08  7:34                                   ` Simon Wright
2019-06-08 17:44                                 ` G.B.
2019-06-08 21:41                                 ` Keith Thompson
2019-06-09  0:40                                   ` Paul Rubin
2019-06-09 18:56                                     ` Keith Thompson
2019-06-09 20:35                                       ` John Perry
2019-06-09 21:15                                         ` Niklas Holsti
2019-06-09 22:37                                           ` John Perry
2019-06-10  9:01                                             ` Simon Wright
2019-06-10 13:15                                               ` Simon Wright
2019-06-10  9:22                                             ` Niklas Holsti
2019-06-09 21:37                                         ` Simon Wright
2019-06-09 22:40                                           ` John Perry
2019-06-10  9:07                                             ` Simon Wright
2019-06-09 21:46                                         ` Niklas Holsti
2019-06-10 17:11                                         ` Dennis Lee Bieber
2019-06-08  4:57                             ` Randy Brukardt
2019-06-08 23:57                               ` Optikos
2019-06-09  0:43                                 ` Paul Rubin
2019-06-10  8:17                               ` Maciej Sobczak
2019-06-10 19:10                                 ` G.B.
2019-06-10 22:07                                 ` Randy Brukardt
2019-06-11  0:32                                   ` Optikos
2019-06-11 15:39                                     ` Brad Moore
2019-06-11 16:14                                       ` John Perry
2019-06-11 16:46                                         ` Shark8
2019-06-11 19:29                                           ` John Perry
2019-06-14  6:12                                             ` Brad Moore
2019-06-14 21:51                                               ` John Perry
2019-06-14 16:29                                             ` djakoogler
2019-06-11 18:19                                         ` joakimds
2019-06-11 15:49                                   ` Jeffrey R. Carter
2019-06-07  7:36                       ` Niklas Holsti
2019-06-05 22:41                     ` Randy Brukardt
2019-06-06  3:34             ` Keith Thompson
2019-06-06  7:29               ` Maciej Sobczak
2019-06-06 15:30                 ` John Perry [this message]
2019-06-06 15:41                 ` Brad Moore
2019-06-06 19:42                 ` Keith Thompson
2019-06-06 16:37               ` Dennis Lee Bieber
2019-06-02  9:59 ` joakimds
2019-06-02 20:14 ` G.B.
2019-06-03 13:37 ` John Perry
2019-06-03 14:50   ` Niklas Holsti
2019-06-03 19:23     ` John Perry
2019-06-03 21:04       ` Niklas Holsti
2019-06-03 18:51   ` Lucretia
2019-06-03 19:32     ` John Perry
2019-06-03 17:00 ` Jeffrey R. Carter
2019-06-03 18:59   ` Lucretia
2019-06-03 19:29   ` John Perry
2019-06-03 20:00     ` Jeffrey R. Carter
replies disabled

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