From: cspt@giraffe.ru.ac.za (Prof. P. Terry)
Subject: Is Modula-2 dead?
Keywords: Standards
Organization: Rhodes University, Grahamstown, South Africa
Date: Thu, 3 Sep 1992 08:06:30 GMT

randy@psg.com (Randy Bush) writes in reply  to
g_dotzel@tron.gun.de (Guenther Dotzel)

RB> Generally, there have been two sorts of language
RB> standardization efforts, those that try to standardize the
RB> intersection of classic definitions and implementations and those
RB> which attempt to standardize the union of all. ISO/JTC1/SC22/WG13
RB> is attempting to standardize the union of all desires, whether
RB> tested by implementation or not.  The results are predictable.

GD> The main arguments against M2 was always "There is no standardised
GD> library!"

RB> Luckily, this will soon change.  It will soon be "The
RB> standard library is unbelievable baroque in design, unusable,
RB> and difficult to implement."

RB> Perhaps Pat will be kind enough to post Wirth's comments on
RB> standardization again.  The Modula-2 standards work has made
RB> this lesson all the more clear.

----

I am not sure which of his many comments are most apposite.  The
ones I re-read most recently (from "From Modula-2 to Oberon"
Software, Practice and Experience, 1988) are:

   "No syntactic coating whatsoever can earn a language this
   attribute (higher level) alone.  The definition of a language
   must be coherent and concise.  This can only be achieved by a
   careful choice of the underlying abstractions, and an appropriate
   structure combining them.  The language manual must be reasonably
   short, avoiding the explanation of individual cases derivable
   from the general rules.  The power of a formalism must not be
   measured by the length of its description.  To the contrary, an
   overly lengthy description is a sure symptom of inadequacy.  In
   this respect, not complexity, but simplicity must be the goal.

   "In spite of its brevity, a description must be complete. ...  It
   should not be necessary to supplement a language definition with
   a voluminous standards document to cover "unforeseen" cases.

It may not have come to the attention of all readers of this
group that the draft for the ISO WG "standard" currently fills
about 500 A4 pages.  PIM defined a language some of us would
still prefer to recognise as Modula-2 in about 30 pages.  Yes,
there were some holes; some of us feel Professor Wirth might have
usefully used about 4 pages more for the language, and
acknowledge that in PIM he did not make a good job of defining
libraries, which has bedevilled portability ever since (his libraries were 
really "examples" rather than being prescriptive).

Some readers may not be aware that the ISO proposed language is
very different from the one they already know - in particular
there is a huge addition to allow for "exceptions", which even at
this late stage has not received the acclaim of all members of
the committee.

PIM Modula-2 may not be dead, though ISO Modula-2 may be still born.
I am saddened and perturbed by this, especially as I am one who
has worked on the committee, and who must therefore bear part of
the responsibility for whatever effect our efforts have on the
ecology of programming languages.  The conservative element on the 
committee (who number several others besides Randy and I) have had
little success in our various attempts at restraint and the promotion of 
simplicity.