[comp.lang.ada] Ada 9X

billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu (William Thomas Wolfe, 2847 ) (10/12/89)

From munck@COMMUNITY-CHEST.MITRE.ORG (Bob Munck):
> I hate to keep harping on this, but the emphasis of the Ada effort is (IMO)
> 
>        software engineering        NOT       programming languages

   This has already been addressed; the object-oriented software
   engineering paradigm is not currently being properly supported,
   although Ada was largely designed around object-*based* concepts.

   Continued evolution in object-oriented thinking has produced an
   important new concept (multiple inheritance) which must now be
   incorporated in support of current software engineering technology.

>          life-cycle costs          NOT         development costs

   Okay, let's consider life-cycle costs.  In particular, let's consider
   adaptability.  The use of inheritance not only speeds up development,
   but also dramatically increases the speed with which a system can be
   modified.  Where's the argument?
 
>     large, many-person projects    NOT        utilities and "toys"

   An inheritance hierarchy provides the conceptual infrastructure
   which permits large, many-person projects (actually, entire software
   organizations) to organize more effectively.  It is fundamentally a
   programming-in-the-large concept.  Again: where's the argument?

> The life-cycle of a large system is longer, perhaps much longer, than
> the 10-year revision period of Ada.  I have a hope that the life-cycle
> of large systems will become essentially infinite when coded in Ada;
> that they will no longer "die" and be entirely replaced by a major
> project, but rather "evolve" through many small improvement projects. 
> ("WIS: never again!")  Also, if we ever solve the managerial problems of
> software reuse, the contents of repositories will essentially be systems
> with very long life-cycles.

   Wow.  Now consider the fact that the evolution of an inheritance
   hierarchy is precisely the way that such evolution can be done in
   an organized manner, and that similar benefits can be brought to
   the problem of repository organization.
 
> It is important to note that "a language that doesn't change" is not 
> the same as freezing the current revision of the compiler.  

   But now for an incredibly simple question: if you are dead-set
   on using Ada 83 forever, what prevents you from doing it?  As
   long as the validation suites continue, the compilers will 
   continue to revalidate, converging upon a bug-free condition. 

   Thus, why deny yourself the option of using a more modern 9X 
   software engineering technology?  Keep 83 around as long as it 
   remains useful, and use pragma Interface and/or automatic translation
   when you decide that 83 is no longer locally useful for a specific
   part of your system.


   Bill Wolfe, wtwolfe@hubcap.clemson.edu

firth@sei.cmu.edu (Robert Firth) (10/12/89)

In article <6754@hubcap.clemson.edu> billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu writes:

>   This has already been addressed; the object-oriented software
>   engineering paradigm is not currently being properly supported,
>   although Ada was largely designed around object-*based* concepts.

>   Continued evolution in object-oriented thinking has produced an
>   important new concept (multiple inheritance) which must now be
>   incorporated in support of current software engineering technology.

On the other hand, consider the possibility that 'object-oriented'
is just the current fashionable brand of snake oil.  Like 'lateral
thinking', 'right-brain thinking', 'egoless programming', and the
hula hoop.

billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu (William Thomas Wolfe, 2847 ) (10/13/89)

From firth@sei.cmu.edu (Robert Firth):
>>   This has already been addressed; the object-oriented software
>>   engineering paradigm is not currently being properly supported,
>>   although Ada was largely designed around object-*based* concepts.
> 
>>   Continued evolution in object-oriented thinking has produced an
>>   important new concept (multiple inheritance) which must now be
>>   incorporated in support of current software engineering technology.
% 
% On the other hand, consider the possibility that 'object-oriented'
% is just the current fashionable brand of snake oil.  Like 'lateral
% thinking', 'right-brain thinking', 'egoless programming', and the
% hula hoop.

   Consider the articles "Using Types and Inheritance in Object-Oriented 
   Programming" (IEEE Software, September 1987, pages 71-79 -- a tutorial) 
   and especially "Designing Families of Data Types Using Exemplars" (ACM 
   Transactions on Programming Languages and Systems, April 1989 -- advanced
   topics) to see that this is not the case.  It just takes a little
   getting used to.  The object-based (ADT) paradigm is only a special 
   case of the more general (and more powerful) object-oriented paradigm.


   Bill Wolfe, wtwolfe@hubcap.clemson.edu

billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu (William Thomas Wolfe, 2847 ) (10/13/89)

From article <4467@bd.sei.cmu.edu>, by firth@sei.cmu.edu (Robert Firth):
> On the other hand, consider the possibility that 'object-oriented'
> is just the current fashionable brand of snake oil.  Like 'lateral
> thinking', 'right-brain thinking', 'egoless programming', and the
> hula hoop.


    Incidentally, Grady Booch, who within the Ada community is probably 
    the best-known FORMER proponent of that position, has now changed
    his tune.  Ask him why.
   

    Bill Wolfe, wtwolfe@hubcap.clemson.edu
 

munck@chance.uucp (Robert Munck) (10/13/89)

In article <6754@hubcap.clemson.edu> billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu says:
>From munck@COMMUNITY-CHEST.MITRE.ORG (Bob Munck):
>> ... [discussion of life-cycle activities, all deleted] ...
>> 
...   [a whole bunch of stuff about inheritance hierarchies, all deleted] ...

I'm reminded of the scene in "Tootsie" in which Dustin Hoffman is being
screen-tested and keeps trying to respond to the director's instructions
to the cameraman: "  ... is that my right, or your right? ..."  Finally
the director says in exasperation "Miss <whatever>, no one is talking to you!"
                 -- Bob <Munck@MITRE.ORG>, linus!munck.UUCP
                 -- MS Z676, MITRE Corporation, McLean, VA 22120
                 -- 703/883-6688

byrne@arecibo.aero.org (04/24/91)

The changes proposed in the Ada 9X Draft Mapping document seemed excessive to
me at first.  I still think that they have a long way to go to making the
syntax and textual changes clear and concise.  I think moving the rationale and
mapping changes into the LRM would help.  This would give the Ada community a
draft Ada 9X LRM to review.  Going through the changes with an Ada 83 LRM, the
Draft Mapping document, and the Draft Mapping Rationale document is cumbersome
and confusing.  

When I first read the mapping, the Protected Record (PR) seemed unnecessary. 
The same function could be provided by a standard generic package that the
vendor could optimize.  After some thought and reading other comments, however,
I have changed my opinion.  Avoiding the tasking form does give the vendor more
freedom to optimize.  Many older embedded designs will map nicely to the PR
format.

In addition, the tagged types look promising.  I think it's a shame that
revision process didn't start a few years earlier.  It would have given us more
time to experiment with the proposed changes.  After this revision is accepted,
I feel the AJPO should sponsor early research into changes for the next
revision.  If Ada is going to remain the standard language, it deserves
on-going R&D, just like planes, tanks, and computers.

Dan J. Byrne

Obviously, these are my unpaid, not-so-humble, personal opinions.

neeri@iis.ethz.ch (Matthias Ulrich Neeracher) (04/25/91)

In article <1991Apr24.152053.4280@aero.org>, byrne@arecibo.aero.org writes:
>If Ada is going to remain the standard language, it deserves
                    ^^^^^^
>on-going R&D, just like planes, tanks, and computers.

Shouldn't that be "become" :-)

>Dan J. Byrne

Matthias

-- 
Matthias Neeracher                                      neeri@iis.ethz.ch
   "These days, though, you have to be pretty technical before you can 
    even aspire to crudeness." -- William Gibson, _Johnny Mnemonic_