comp.lang.ada
 help / color / mirror / Atom feed
From: Stefan.Lucks@uni-weimar.de
Subject: Re: Build language with weak typing, then add scaffolding later to strengthen it?
Date: Fri, 29 May 2015 10:51:21 +0200
Date: 2015-05-29T10:51:21+02:00	[thread overview]
Message-ID: <alpine.DEB.2.11.1505291006310.28509@debian> (raw)
In-Reply-To: <mk88v9$im6$1@loke.gir.dk>

[-- Attachment #1: Type: TEXT/PLAIN, Size: 3553 bytes --]

On Thu, 28 May 2015, Randy Brukardt wrote:

> That leaves the actual language definition at 337 pages. To be fair, one
> could eliminate stuff not even contemplated by Oberon - tasks (Chapter 9, 40
> pages), generics (Chapter 12, 18 pages not including the example removed
> earlier), and low-level programming (Chapter 13, 51 pages excluding the
> example removed earlier).
>
> 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.

Such as overloading and visibility rules. For programmers, some simple 
rules of thumb work most of the time. And if not, then the compiler will 
give a (somewhat unexpected) error message, giving the programmer the 
chance to fix the issue. I don't remember that by ignoring the rules I 
ever got an executable doing something unexpected. On the other hand, for 
independent and compatible implementations, the reference manual is a lot 
more specific.

Hmmm, I wonder if a new "simplistic Ada reference manual" would be 
appreciated by programmers ...

> 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.)

Firstly, compare the Algol-W and Pascal reports with other language 
reports and standards proposed at the same time. Which of these had a 
remotely reasonable standard library? Even the Ada 83 standard library 
is rather unimpressive, IMHO. Both Algol-W and Pascal are much 
older than Ada 83. (I am too lazy to look up when Modula has been 
proposed.)

Secondly, Oberon is younger than Ada 83, but is has been developed for a 
specific purpose. At least initially, Oberon was not meant to become a 
general purpose language. Also, even if there isn't much of a "Oberon 
standard library", there is the Oberon operating system and its library.

Thirdly, there are two general alternative approaches to language design:

1. Design a language precisely specifying almost everything (and defining 
unspecified details explicitly as unspecified), like Ada, or

2. Design a language with the specification omitting plenty of minor 
details. Let peaople argue about it. Over time, and with practical 
experience from using that language, fill the gaps.

Either approach has advantages and disadvantages. Of course, Ada was not 
an academic proposal, but a standard from the beginning, so approach 2 was 
never an option for Ada.


------  I  love  the  taste  of  Cryptanalysis  in  the morning!  ------
uni-weimar.de/de/medien/professuren/mediensicherheit/people/stefan-lucks
--Stefan.Lucks (at) uni-weimar.de, Bauhaus-Universität Weimar, Germany--

  reply	other threads:[~2015-05-29  8:51 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 [this message]
2015-05-29 18:04                                       ` Jeffrey R. Carter
2015-05-29 21:51                                       ` Randy Brukardt
2015-05-30 10:28                                         ` jan.de.kruyf
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