comp.lang.ada
 help / color / mirror / Atom feed
From: Michel DELARCHE <delarche@cybercable.fr>
To: Richard D Riehle <laoXhai@ix.netcom.com>
Subject: Re: Self-referential types
Date: 1999/10/24
Date: 1999-10-24T12:53:07+00:00	[thread overview]
Message-ID: <38130F67.C211C87D@cybercable.fr> (raw)
In-Reply-To: 7uq8vo$9gs$1@nntp6.atl.mindspring.net

A telling anecdote about name-based vs. comment-based "clarity": in one
of my previous lives I was part of a team developing Fortran software
with the 8-character limitations in names etc. ; one variable that would
read CAPENDEG (an easily understandable French abbreviation for
"Heading-in-degrees") would not need any additional comment, either on a
stand-alone basis or by means of reference to previous specification
documents. The nag is that neither the military airmen writing the high
level specifications with the "obvious" assumption that they were
talking about magnetic headings nor the software engineers who were
developing the software with the (not less "obvious") assumption that
they were dealing with geographic headings, realised the
misunderstanding until the first mapped  trajectories came out of the
system, looking slightly tilted to the trained eyes of the aviators.
Both groups realised then that both the initial specifications and the
subsequent software implementation had missed something. More expressive
languages like Ada might have defined a more strict (sub)type and even a
unit system (cf. the recent thread on the Mars Orbiter crash), but I'm
still not sure that the "obvious" distinction between magnetic and
geographic heading would have popped up earlier that it did.

Based on my (past) experience of software development for a variety of
application fields, I think that the main problem with software
documentation integrity and maintainability is precisely that kind of
diverging implicit assumptions made by dedicated yet necessarily rather
narrowly trained professionals that fail to realise that what is
"obvious" to them may not be so "obvious" to someone else.

Richard D Riehle a �crit :

> In article <7um9ji$dor$1@nnrp1.deja.com>,
>         Robert Dewar <robert_dewar@my-deja.com> wrote:
>
> >My own view is that good names are an *adjunct* to good
> >comments, not a substitute for them.
>
> Many software products developed in Ada are based on some
> larger systems engineering specification.  The software must
> reflect the constraints of that specification.  For example,
> in one communications satellite software effort, it was common
> to see comments that referred back to a paragraph of the
> engineering specification.
>
> It would have been quite foolhardy to rely only on the names of
> the entities.   Many of these names described some complicated
> calculation that could only be understood by looking at the
> underlying mathematics in the engineering specification.  For
> trivial programs in which one is simply getting and putting
> data to and from files, meaningful names might be enough. For
> serious engineering applications, we need comments that correspond
> to the original specification.
>
> 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.
>
> Richard Riehle
> http://www.adaworks.com
>





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

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <7ttb4a$8mq$1@nnrp1.deja.com>
     [not found] ` <3802597B.9205AEE8@averstar.com>
1999-10-12  0:00   ` Self-referential types Ted Dennison
1999-10-12  0:00     ` Matthew Heaney
1999-10-13  0:00       ` Ted Dennison
1999-10-12  0:00 ` Vladimir Olensky
1999-10-12  0:00   ` Matthew Heaney
1999-10-12  0:00     ` news.oxy.com
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 Matthew Heaney
1999-10-12  0:00     ` Richard D Riehle
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                 ` Ed Falis
1999-10-19  0:00                   ` Robert Dewar
1999-10-18  0:00                 ` Brian Rogoff
     [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                     ` Larry Kilgallen
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 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
1999-10-24  0:00                       ` Michel DELARCHE [this message]
1999-10-13  0:00         ` Ted Dennison
1999-10-13  0:00           ` Matthew Heaney
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             ` Vladimir Olensky
1999-10-18  0:00             ` Laurent Guerby
1999-10-12  0:00     ` Ted Dennison
1999-10-12  0:00       ` Matthew Heaney
1999-10-12  0:00 ` Robert A Duff
replies disabled

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