comp.lang.ada
 help / color / mirror / Atom feed
From: Richard D Riehle <laoXhai@ix.netcom.com>
Subject: Re: Self-referential types
Date: 1999/10/23
Date: 1999-10-23T20:13:22+00:00	[thread overview]
Message-ID: <7ut4t2$3pb$1@nntp2.atl.mindspring.net> (raw)
In-Reply-To: wccu2ni3weo.fsf@world.std.com

In article <wccu2ni3weo.fsf@world.std.com>,
	Robert A Duff <bobduff@world.std.com> wrote:

in response to the following outrageous hyperbole,

>Richard D Riehle <laoXhai@ix.netcom.com> writes:
>
>> As usual, we use the kind of tools appropriate for the problem
>> space and solution space.  I am beginning to think that people who
>> make up hard and fast rules for computer programming are people who
>> no longer actually write programs.  Perhaps they never did.
>
>Hmm.  I had a hand in writing a book that's got thousands of absolutely
>hard and fast rules for programming.  It's the Ada 95 Reference Manual.
>And I still actually write programs.  ;-) ;-)

Robert,

This is not at all the same thing.  The formulation of a syntax and
semantics for a programming language is not, in my mind, the equivalent
of telling a programmer which of those language features to use or 
not use.   I realize that many programmers resent Ada because they
feel it does impose too many rules.  I would not want to return to
Assembler, even though there are fewer language rules.  Even so, I
still encounter those elitists who would rather program in Assembler
because high-order languages are too restrictive.  To them, those of
us _sissies_ who no longer program in Assembler are not really programmers.

The kind of people mentioned in my post are those who thumb through
your program and criticize you for having an exit statement in a loop,
a use or use type clause in a perfectly safe place, a goto when it is
absolutely necessary, or some other construct they read about somewhere
in some magazine.  For example, when Dijkstra published his famous CACM
letter, "Go To Considered Harmful,"  thousands of programming managers
who did not read the article adopted the title as a standard, thereby
screwing up millions of lines of COBOL code.  COBOL, at that time, was
completely inappropriate for structured methods, and attempts to produce
structured code resulted in some of the most obfuscated constructs one
could imagine.  

Taking the Ada example.  The rules of Ada are certainly strict.  That 
is not a bad thing.  It would have been a bad thing if there were no
mechanisms for relaxing those strict rules when it was appropriate. One
reason Ada is better than Java for lots of things is the ability to
relax the rules.  So, Robert, even though you were involved in writing
a language that has lots of rules, you and others engaged in this
effort had the good sense to include capabilities for suspending those
rules when the correct solution called for it.

Consequently, I would not include you and the other designers of Ada in
my outrageous hyperbole.  You wrote a language reference manual that 
said, "These are the default rules. Use them and be safe."  Then you
added, "These are the workarounds when you need them."

Richard Riehle
http://www.adaworks.com 






  reply	other threads:[~1999-10-23  0:00 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <7ttb4a$8mq$1@nnrp1.deja.com>
1999-10-12  0:00 ` Self-referential types Robert A Duff
1999-10-12  0:00 ` Vladimir Olensky
1999-10-12  0:00   ` Matthew Heaney
1999-10-12  0:00     ` Richard D Riehle
1999-10-12  0:00     ` news.oxy.com
1999-10-12  0:00       ` Matthew Heaney
1999-10-12  0:00       ` Ted Dennison
1999-10-12  0:00         ` Stanley R. Allen
1999-10-13  0:00           ` Ted Dennison
1999-10-13  0:00         ` Vladimir Olensky
1999-10-14  0:00         ` Multiple Inheritance in Ada 95 [was Re: Self-referential types] Tucker Taft
1999-10-12  0:00     ` Self-referential types Ted Dennison
1999-10-12  0:00       ` Matthew Heaney
1999-10-12  0:00     ` Robert I. Eachus
1999-10-12  0:00       ` Matthew Heaney
1999-10-13  0:00         ` Robert I. Eachus
1999-10-13  0:00           ` Brian Rogoff
1999-10-15  0:00             ` Robert I. Eachus
1999-10-15  0:00               ` Marin David Condic
1999-10-15  0:00                 ` Robert I. Eachus
1999-10-18  0:00                   ` Robert Dewar
1999-10-19  0:00                     ` Robert I. Eachus
     [not found]               ` <7u86su$o5v$1@nntp8.atl.mindspring.net>
1999-10-18  0:00                 ` Robert I. Eachus
1999-10-22  0:00                   ` Richard D Riehle
1999-10-22  0:00                     ` Robert I. Eachus
1999-10-18  0:00               ` Robert Dewar
1999-10-18  0:00                 ` Brian Rogoff
1999-10-18  0:00                 ` Ed Falis
1999-10-19  0:00                   ` Robert Dewar
     [not found]               ` <slrn80fl9f.68j.aidan@skinner.demon.co.uk>
1999-10-19  0:00                 ` Wes Groleau
1999-10-21  0:00                   ` Robert Dewar
1999-10-21  0:00                     ` Comments (was: Self-referential types) Wes Groleau
1999-10-21  0:00                       ` Ehud Lamm
1999-10-22  0:00                         ` Ted Dennison
1999-10-23  0:00                           ` Ehud Lamm
1999-10-23  0:00                         ` Robert Dewar
1999-10-23  0:00                           ` Ehud Lamm
1999-10-23  0:00                             ` Comments Georg Bauhaus
1999-10-24  0:00                               ` Comments Ehud Lamm
1999-10-26  0:00                                 ` Comments Robert I. Eachus
1999-10-28  0:00                                   ` Comments Jerry van Dijk
1999-10-28  0:00                                     ` Comments Ted Dennison
1999-10-25  0:00                             ` Comments (was: Self-referential types) Wes Groleau
1999-10-23  0:00                       ` M.
     [not found]                       ` <Pine.A41.3.96-heb-2.07.991021191504.30582K-100000@pluto.mscc.huji. <381477c9.e1388ff3@ftw.rsc.raytheon.com>
1999-10-25  0:00                         ` Larry Kilgallen
1999-10-21  0:00                     ` Self-referential types Larry Kilgallen
1999-10-21  0:00                     ` Jean-Pierre Rosen
1999-10-21  0:00                       ` Robert Dewar
1999-10-22  0:00                     ` Richard D Riehle
1999-10-23  0:00                       ` Robert A Duff
1999-10-23  0:00                         ` Richard D Riehle [this message]
1999-10-24  0:00                       ` Michel DELARCHE
1999-10-13  0:00         ` Vladimir Olensky
1999-10-13  0:00           ` Vladimir Olensky
1999-10-18  0:00           ` Robert Dewar
1999-10-18  0:00             ` Laurent Guerby
1999-10-18  0:00             ` Vladimir Olensky
1999-10-13  0:00         ` Ted Dennison
1999-10-13  0:00           ` Matthew Heaney
     [not found] ` <3802597B.9205AEE8@averstar.com>
1999-10-12  0:00   ` Ted Dennison
1999-10-12  0:00     ` Matthew Heaney
1999-10-13  0:00       ` Ted Dennison
replies disabled

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