comp.lang.ada
 help / color / mirror / Atom feed
From: eachus@spectre.mitre.org (Robert I. Eachus)
Subject: Re: SOLVED! Decoupled Mutual Recursion Challenger
Date: 28 Oct 94 10:52:16
Date: 1994-10-28T10:52:16+00:00	[thread overview]
Message-ID: <EACHUS.94Oct28105216@spectre.mitre.org> (raw)
In-Reply-To: jmartin@oahu.cs.ucla.edu's message of 27 Oct 1994 21:28:41 -0700


In article <38pulp$ovg@oahu.cs.ucla.edu> jmartin@oahu.cs.ucla.edu (Jay Martin) writes:

   First that bug in your C program is a classic, worse than some of
my old PL/I implicit conversion horror stories!

   Second, let's put the package forward proposal in the trashcan it
deserves.  I'm not trying to be critical, but as one of those language
lawyers you want to shoot, the only feature it would add to the
language is to allow you to shoot yourself in the foot instead of
stopping you.  Ada, even Ada 83, has a perfectly good mechanism for
generating mutually recursive types, with operations which derive and
(in 9X) dispatch.  All you have to do is stick in a "extra"
derivation. (Or if you want apparent symmetry, two.)  Treat the extra
work exactly as it should be treated--as a warning that there is
complexity here which needs thinking about.

   All the hullaballo is about that required (and in some sense
arbitrary) symmetry breaking.  But as has been pointed out the
ordering is a feature of the language which no one should want to
throw away.  It is really a guarantee that no object's value is
referenced before it is created and (if it has an initial value)
initialized.  All the "clever" solutions ignore this.  When you look
at the way the bodies have to be written, all you have done is either
postphone the problem, or ask the programmer to solve it for the
compiler.

  > Ada83 was just handed over to the international standardization
  > organization and said, "Check the spelling and ratify it".

   This is a misunderstanding.  It took a lot of effort to insure that
there was a single Ada standard, and part of that effort involved a
translation of ANSI Ada into French. (ISO 8652 1987 is a one-page
endorsement of the ANSI and AFNOR standards.  With 9X the ANSI and ISO
standards will be the same document.)  But the effort that went into
converting Ada 80 (MIL-STD 1815) into a useable standard took more
than two years, and a lot of work worldwide by thousands of people.
Having a single small design team kept this from creating a camel, and
the same approach was taken for 9X.

  > This, in my opinion, is the only way that languages should be
  > standardarized.  Ada83 has been ruined because it has been set in
  > cement with even minor changes impossible.

  This is a total misunderstanding.  If you get a copy of the
Annotated Ada Reference Manual, you will find that almost every page
has an AI on it.  The terminology of "Ada Interpretation" and "Binding
Interpretation," was chosen due to the fact that standard maintenance
was not really supported by standards organizations a decade ago, but
the Ada maintenance procedures were used as a model in setting up the
current ISO procedures.

  > Language design is maintanance!  So it is trivially obvious that
  > the only way to do language design and maintanance is to have one
  > reasonable,dedicated and responsible individual have total power
  > and control (The IQ of a committee...).

    Consensus and a number of people with a vision of what the
language IS help a lot.  But no single individual can get it right
every time.  If you look at the AI's closely you will find that not
even a dedicated group of language lawyers can accomplish that.  But
there are relatively few AI's that correct other AI's, so we did
pretty well (at least in the final product).

  > Huh? Oops, by "Ada style language" I meant a completely different
  > language without upward compatibility problems.  Remove tasking,
  > exceptions, nesting, floating point types, discriminated records,
  > derived types, real models, fixed point types, blocks, goto, named
  > parameters, aggregates, slices, rep clauses, simplify
  > generics,etc, you can gain alot of simplicity.

    So remove all the features you don't need this week, and you have
a much smaller language.  Fine, no one is stopping you from using that
subset.  But the whole purpose of the Ada standardization effort was
to make it possible to take your code, and Joe's code, and Ralph's
code, and use them in the same program without migraines.  This
requires that subsets work with programs that use the pieces they
ingnore.  THAT is what orthogonality is about.

    A one page or even ten page program that used "all" of Ada would
be an abomination.  But Ada needs to be able to express any
programming construct so that the programmer can think about what is
the most appropriate technique to use in this application.  Removing
that would be a major disservice to serious programmers.

  > If you design a language that requires 200 IQ brainos who never
  > make errors to understand/use, then trying to use that language on
  > a project of a hundred average programmers is not going to be
  > successful.  Thus language design must be down to earth,
  > understandable and safe for the average programmer.  Spaced out
  > grandious languages is not what software developers need. I am not
  > saying this languages shouldn't be researched but practical
  > designs must also be studied.

   What we have in Ada is a language which is very easy for software
engineers to use without being punished for mistakes and oversights,
but without those bugs getting into the delivered product.

  Most software engineers regard the fact that there are many
programmers out there who don't understand software engineering and
therefore can't use Ada as an advantage.  But it would be even nicee
if someone could teach them software engineering!

--

					Robert I. Eachus

with Standard_Disclaimer;
use  Standard_Disclaimer;
function Message (Text: in Clever_Ideas) return Better_Ideas is...



  reply	other threads:[~1994-10-28 10:52 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1994-10-12 22:49 SOLVED! Decoupled Mutual Recursion Challenger John Volan
1994-10-17 15:48 ` John Volan
1994-10-17 17:55   ` Bob Duff
1994-10-17 20:52     ` John Volan
1994-10-17 22:10       ` Bob Duff
1994-10-18 22:17         ` John Volan
1994-10-19  1:01           ` Bob Duff
1994-10-19  4:45             ` Jay Martin
1994-10-19 14:38               ` Mark A Biggar
     [not found]                 ` <38fi4r$l81@oahu.cs.ucla.edu>
1994-10-24 11:49                   ` Mutual Recursion Challenge Robert I. Eachus
1994-10-24 20:32                     ` John Volan
1994-10-26 11:42                       ` Generic association example (was Re: Mutual Recursion Challenge) Robert I. Eachus
1994-10-26 23:21                         ` John Volan
1994-10-27 10:53                           ` Robert I. Eachus
1994-10-31 17:34                             ` John Volan
1994-10-27 14:37                           ` Mark A Biggar
1994-10-24 17:42                   ` SOLVED! Decoupled Mutual Recursion Challenger John Volan
1994-10-24 22:37                     ` Jay Martin
1994-10-25  5:47                       ` Matt Kennel
1994-10-25 10:04                         ` David Emery
1994-10-25 16:43                         ` John Volan
1994-10-27  4:25                           ` Rob Heyes
1994-10-28  9:03                             ` Mutual Recursion (was Re: SOLVED! Decoupled Mutual Recursion Challenger) Robert I. Eachus
1994-10-28 15:04                             ` SOLVED! Decoupled Mutual Recursion Challenger Robb Nebbe
1994-10-25 15:54                       ` John Volan
1994-10-26  1:24                         ` Bob Duff
1994-10-28  4:28                         ` Jay Martin
1994-10-28 10:52                           ` Robert I. Eachus [this message]
1994-10-28 18:46                             ` Jay Martin
1994-11-02 14:56                               ` Robert I. Eachus
1994-10-29  0:38                           ` Bob Duff
1994-10-29  7:26                             ` Jay Martin
1994-10-29 11:59                             ` Richard Kenner
1994-10-31 13:17                               ` Robert Dewar
1994-10-31 14:13                               ` gcc distribution (was: SOLVED! Decoupled Mutual Recursion Challenger) Norman H. Cohen
1994-11-02 14:14                                 ` Richard Kenner
1994-11-04 23:56                                   ` Michael Feldman
1994-10-31 18:44                           ` SOLVED! Decoupled Mutual Recursion Challenger John Volan
1994-10-20 11:25               ` Robb Nebbe
1994-10-20 19:19                 ` John Volan
1994-10-26  0:07                 ` Mark S. Hathaway
1994-10-26 18:48                 ` gamache
1994-10-27  2:15                   ` John Volan
     [not found]           ` <CxwGJF.FwB@ois.com>
1994-10-19 16:35             ` John Volan
1994-10-17 22:54   ` Cyrille Comar
replies disabled

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