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--
next prev parent 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