comp.lang.ada
 help / color / mirror / Atom feed
From: tynor@pyr.gatech.EDU (Steve Tynor)
Subject: Re: Limited Use Clause
Date: 6 Dec 88 19:12:56 GMT	[thread overview]
Message-ID: <6912@pyr.gatech.EDU> (raw)
In-Reply-To: 8812061626.AA13093@ajpo.sei.cmu.edu

In article <8812061626.AA13093@ajpo.sei.cmu.edu> rracine@AJPO.SEI.CMU.EDU writes:
>without any arguments.  Why not use the unrestricted 'use'?  The only
>reason I have heard that can not be refuted is that it makes it hard to tell
>where to find things in source code.  That argument is not a language issue,
>however.  It is a Programming Support Environment issue.  The compiler
>knows where the various procedures are declared.  Why can't it give us a
>cross-reference listing at the end of each compilation?  
...
>Saying "Don't use 'use'" tells me a lot about a project.  It is not using
>a sufficient APSE.  It has people who complain about Ada, since they 
>probably have difficulty reading their code.  And they are probably behind
>schedule, for similar reasons.
>
>I hope this generates some discussion.

It will from me anyway. I don't know what types of Ada projects you've
worked on or how sophisticated your ASPE is, but my experience is based on
the Alsys and DEC/ADA compilers and a project involving >60 packages.  We
adopted a 'no use' policy several months ago due to the unreadability of the
code. You say that the argument "is not  a language issue, however.  It is a
Programming Support Environment issue". Why? I thought that one of the
objectives of Ada was to define a portable, easily understood language where
dependencies are explicit.  Why rely on a non-standard ASPE to solve that
problem?  As you've alluded to, most Ada programming houses do not have
access to very sophisticated ASPEs.

BTW, my experience with the DEC/SCA is that it is so slow, it is rarely
worth the effort.  For a simple question of "is this procedure PUSH from
package X, Y or Z", it'd much rather be able to answer the question by
making explicit use of X.PUSH in the source than requiring the code reader
(probably _not_ the author, remember) to "play Mr. Compiler" and figure out
which one is getting referenced (a job made all the more difficult with
overloading...) So why not give the programmer more control over the 
"use" clause? Just because I want explicit qualified names for the
PUSH procedure, doesn't necessarily mean I need it for "=", or "PUT",
or whatever.  As it stands, it's all or nothing.

Also, for your information, I'm not "one of those people who complain about
Ada". I may have specific complaints/suggestions, but I think that,
overall, it's a terrific language.

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
You can't settle an issue if you keep avoiding the questions...
                     
    Steve Tynor
    Georgia Tech Research Institute
    tynor@gitpyr.gatech.edu

  reply	other threads:[~1988-12-06 19:12 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1988-12-06 16:26 Limited Use Clause rracine
1988-12-06 19:12 ` Steve Tynor [this message]
1988-12-07  1:43 ` Michael Peirce
1988-12-07 18:12   ` Stephe Leake
1988-12-09 13:58   ` Burch Seymour
1988-12-07 17:59 ` Stephe Leake
  -- strict thread matches above, loose matches on Subject: below --
1988-12-17 21:56 Erland Sommarskog
1988-12-18 14:48 ` Dik T. Winter
1988-12-19 14:17 ` Steve Tynor
1988-12-10 23:13 Erland Sommarskog
1988-12-12 15:47 ` Steve Tynor
1988-12-05 23:39 Brian D. Nettleton @spot
1988-12-06 15:36 ` Steve Tynor
1988-12-07 17:54   ` Stephe Leake
replies disabled

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