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_