comp.lang.ada
 help / color / mirror / Atom feed
From: jan.de.kruyf@gmail.com
Subject: Re: Build language with weak typing, then add scaffolding later to strengthen it?
Date: Sat, 30 May 2015 03:28:51 -0700 (PDT)
Date: 2015-05-30T03:28:51-07:00	[thread overview]
Message-ID: <d003698d-cad3-4ce5-8196-dcff3d0e266a@googlegroups.com> (raw)
In-Reply-To: <mkan1b$88u$1@loke.gir.dk>

On Friday, May 29, 2015 at 11:51:40 PM UTC+2, Randy Brukardt wrote:

> 
> >> So now we're at 228 pages. With some reformatting, and removing all of 
> >> the
> >> introductory text, notes, and examples, we'd save at least 20% of that
> >> (probably more). So that means that an equivalently formatted Ada 
> >> standard
> >> would probably be roughly 180 pages (or maybe 270 if we left everything 
> >> in).
> >
> >Actually, you could get away with significantly less (I'd say, less than
> >100 pages) if you rewrote the manual in an Oberon-like (or Wirthian)
> >style, i.e., a manual that tells the programmer what he or she needs to
> >know, but leaves plenty of details unspecified which the compiler writer
> >would need to know.
> 
> Which only works if there is never going to be more than one compiler (i.e. 
> Oberon, Eiffel). Otherwise, it will eventually be a disaster, or the details 
> will get filled in, or both.
> 
> ...
> >> And, of course, Wirth himself has a long history of writing sloppy 
> >> language
> >> standards and leaving when other people try to clean them up (Algol-W,
> >> Pascal, Modula, Modula 2, ...). He's a brilliant language designer, but 
> >> he
> >> always has underdescribed standards. (That surely includes building
> >> standards without any library description, which is nonsense for any
> >> purpose.)
> >
> >Now *that* is unfair to Wirth! (Not the part with the brilliant language
> >designer, but the other part.)
> 
> Not really. He complained about other people's language designs not being 
> precise (in his Turing Award speech in particular vis-a-vis PL/I), but his 
> don't seem to need the same amount of detail. I call BS on that.
> 
>                                    Randy.

Randy,
I think his comments were deeply grounded, but in something I have not seen discussed in connection with Ada, or a few other languages for that matter.
So I understand what you are saying, but I think it is groundless.

For the old man a language is "right" when the EBNF diagram is "right" or perhaps "beautiful". (EBNF : Extended Backer Naus Formalism) Beautiful for a swiss person would then translate to: rather minimalistic, so you can see the structure well. This is a culture thing. And "right" would be mathematically right, because that is the whole object of drawing up an EBNF in the first place. He has a strong base in that, as he was a pupil of old Dijkstra, who programmed by contract in his day. The contract being the spec of the hardware not build yet. Those programs generally were faultless, since the mathematical basis was right.
All his life Wirth has striven to get that part right, which is why he started over a few times to see if he could beautify that part a bit more.

A good clear EBNF is for him (and for me) a very strong indicator of the precision and the ease of use of any language.
Almost _everything_ follows from the 2 pages of EBNF. The compiler structure. The error detection. You name it. 
And from the discussion here it was quite clear that where Oberon needs text over and beyond the EBNF things immediately were murky and open to critique.

In youthful courage (or silliness, depending where you stand) I once set out to "fix" something in Oberon. 
In those days memory was still expensive on a microcontroller so I set out to add a bit type, which would then be part of a byte (this being 8 bit world), which was very useful to me. I succeeded reasonably well and it worked ok. But the EBNF was bludgeoned beyond recognition and strangely so was the compiler. Especially the type tree.
So I will not fall for that temptation again, I plainly do not have the mathematical background for such an undertaking, in hindsight it was not worth it. Before I could just consult the EBNF if I was unclear about some language construct, now I had to find my notes back. nah!

So if you want to do any cleaning up I would say lets start with drawing up a EBNF of Ada. It will explain the critique from Dijkstra and Wirth, and it will explain the calls for a simpler Ada that we have heard since day 1 according to JPRosen.

And the biggest bonus will be that we will be able to work faster, once we have a good understanding of the mathematical underpinnings of the language.


j.

  reply	other threads:[~2015-05-30 10:28 UTC|newest]

Thread overview: 111+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-21 19:11 Build language with weak typing, then add scaffolding later to strengthen it? Nasser M. Abbasi
2015-05-21 19:29 ` AdaMagica
2015-05-22  7:27   ` Dmitry A. Kazakov
2015-05-22  7:42 ` Georg Bauhaus
2015-05-22  8:54   ` Nasser M. Abbasi
2015-05-22 11:29 ` kalvin.news
2015-05-22 12:57   ` J-P. Rosen
2015-05-22 14:01     ` kalvin.news
2015-05-22 14:34       ` kalvin.news
2015-05-23 11:09         ` Peter Chapin
2015-05-22 15:37       ` J-P. Rosen
2015-05-22 16:29         ` kalvin.news
2015-05-22 17:39           ` Simon Clubley
2015-05-22 17:51             ` kalvin.news
2015-05-22 19:41               ` J-P. Rosen
2015-05-22 20:04                 ` kalvin.news
2015-05-22 20:32                   ` Jeffrey R. Carter
2015-05-22 21:22                     ` kalvin.news
2015-05-23 11:14                     ` Peter Chapin
2015-05-23 12:42                       ` Jeffrey R. Carter
2015-05-23 17:48                         ` Simon Wright
2015-05-25  8:34                           ` Pascal Obry
2015-05-25 10:22                             ` Simon Wright
2015-05-25 18:12                               ` Georg Bauhaus
2015-05-22 20:39                   ` jan.de.kruyf
2015-05-28 22:33                     ` Randy Brukardt
2015-05-29  6:56                       ` jan.de.kruyf
2015-05-23 12:40                   ` Georg Bauhaus
2015-05-25  7:14                     ` jan.de.kruyf
2015-05-25 12:26                       ` Georg Bauhaus
2015-05-25 18:44                       ` Shark8
2015-05-25 19:54                         ` jan.de.kruyf
2015-05-25 21:25                           ` Shark8
2015-05-26  7:46                           ` Georg Bauhaus
2015-05-26  8:12                           ` Georg Bauhaus
2015-05-25 20:01                         ` Nasser M. Abbasi
2015-05-25 20:04                           ` Nasser M. Abbasi
2015-05-25 20:37                             ` jan.de.kruyf
2015-05-26  7:52                               ` Jacob Sparre Andersen
2015-05-26 11:43                                 ` jan.de.kruyf
2015-05-26 15:38                                   ` jan.de.kruyf
2015-05-28 23:39                                   ` Randy Brukardt
2015-05-29  8:51                                     ` Stefan.Lucks
2015-05-29 18:04                                       ` Jeffrey R. Carter
2015-05-29 21:51                                       ` Randy Brukardt
2015-05-30 10:28                                         ` jan.de.kruyf [this message]
2015-05-30 11:12                                           ` Dmitry A. Kazakov
2015-05-30 13:21                                             ` jan.de.kruyf
2015-05-30 15:00                                               ` Simon Clubley
2015-05-30 18:40                                                 ` jan.de.kruyf
2015-05-30 16:40                                               ` Dmitry A. Kazakov
2015-05-30 20:52                                                 ` jan.de.kruyf
2015-05-31  8:31                                                   ` Nasser M. Abbasi
2015-05-31  8:52                                                   ` Dmitry A. Kazakov
2015-06-04 15:31                                                     ` jan.de.kruyf
2015-06-04 17:23                                                       ` Dmitry A. Kazakov
2015-06-04 20:14                                                         ` Shark8
2015-06-04 23:12                                                           ` Nasser M. Abbasi
2015-06-01 21:36                                                 ` Randy Brukardt
2015-06-04 15:22                                                   ` jan.de.kruyf
2015-05-27 13:41                                 ` jan.de.kruyf
2015-05-25 23:05                             ` Peter Chapin
2015-05-26  8:01                               ` Sylvain Laperche
2015-05-26  8:20                                 ` Georg Bauhaus
2015-05-26  8:49                                 ` J-P. Rosen
2015-05-26 12:36                                   ` Simon Clubley
2015-05-26 13:39                                     ` J-P. Rosen
2015-05-26 14:21                                       ` Dmitry A. Kazakov
2015-05-26 16:19                                       ` Shark8
2015-05-26 20:51                                         ` J-P. Rosen
2015-05-26 17:11                                   ` Jeffrey R. Carter
2015-05-28 23:49                                     ` Randy Brukardt
2015-05-29 21:54                                       ` Randy Brukardt
2015-05-29 22:32                                         ` Jeffrey R. Carter
2015-05-26  8:17                               ` Georg Bauhaus
2015-05-28 22:46                       ` Randy Brukardt
2015-05-28 23:18                         ` Nasser M. Abbasi
2015-05-29 21:27                           ` Randy Brukardt
2015-05-29  7:55                         ` jan.de.kruyf
2015-05-29  9:27                           ` Simon Wright
2015-05-29 10:23                             ` jan.de.kruyf
2015-05-29 12:01                               ` G.B.
2015-05-29 13:43                                 ` jan.de.kruyf
2015-05-29 15:32                             ` Simon Wright
2015-05-29 15:57                               ` jan.de.kruyf
2015-05-29  9:31                         ` Jacob Sparre Andersen
2015-05-29 10:37                           ` jan.de.kruyf
2015-05-29 10:56                           ` Björn Lundin
2015-05-29 12:03                             ` Peter Chapin
2015-05-29 21:00                               ` Shark8
2015-05-29 20:57                           ` Shark8
2015-05-29 21:36                             ` Randy Brukardt
2015-06-01 22:20                               ` Shark8
2015-05-29 21:45                           ` Randy Brukardt
2015-05-29 23:12                             ` Peter Chapin
2015-05-30  9:10                               ` Georg Bauhaus
2015-05-23 13:01                 ` Luke A. Guest
2015-05-22 17:57             ` Simon Wright
2015-05-22 18:31               ` jan.de.kruyf
2015-05-22 14:03     ` jan.de.kruyf
2015-05-22 15:21       ` David Botton
2015-05-22 15:23         ` jan.de.kruyf
2015-05-22 15:31       ` Bob Duff
2015-05-22 15:48         ` jan.de.kruyf
2015-05-22 14:25     ` G.B.
2015-05-22 15:04     ` Bill White
2015-05-22 15:28     ` Bob Duff
2015-05-22 17:46       ` Simon Clubley
2015-05-22 18:16         ` jan.de.kruyf
2015-05-22 19:01           ` Simon Wright
2015-05-22 19:41             ` jan.de.kruyf
replies disabled

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