From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.5-pre1 Date: 16 Nov 92 15:09:04 GMT From: eru.mt.luth.se!lunic!sunic!mcsun!uknet!comlab.ox.ac.uk!ajs@bloom-beacon.m it.edu (Adolfo Socorro) Subject: Re: OOD, Ada, and Inheritance Message-ID: <1992Nov16.150904.6822@ruby.comlab.ox.ac.uk> List-Id: In article <1992Nov13.203723.26049@cis.ohio-state.edu> weide@elephant.cis.ohio- state.edu (Bruce Weide) writes: >In article <1992Nov11.042043.9740@inmet.camb.inmet.com> >stt@spock.camb.inmet.com (Tucker Taft) writes: >> >>We also believe that object-oriented approaches are a natural >>outgrowth of earlier work, in particular abstract-data-type (ADT)-oriented >>approaches. The big thing that OO brings is robust support >>for abstractions with *multiple* implementations. Although the >>concept of multiple implementations of a given abstract data type >>was always discussed in academic circles, pre-OO languages with >>abstract data types rarely had good support for multiple implementations. >> > >Good point about multiple implementations, but you don't need OO >mechanisms like inheritance to get multiple implementations. For >example, the idea of multiple implementations is a central feature of >RESOLVE, which has no OO features except a special kind of >specification inheritance that has no bearing on multiple >implementations. In fact, it seems Ada could be extended with (direct >language support for) multiple implementations, e.g., by permitting >separate naming of package specs and bodies and a way of binding them >together at instantiation time. See a paper by M. Sitaraman in Proc. >ICCL, Apr 1992, for some ideas on how this could be done. This work is much more older, dating back to the specification language Clear and more recently to the language LIL. See @ARTICLE{Goguen:computer86, AUTHOR = "Goguen, Joseph", TITLE = "Reusing and Interconnecting Software Components", JOURNAL = "Computer", MONTH = "February", YEAR = 1986, VOLUME = 19, NUMBER = 2, PAGES = "16-28"} Cheers, Adolfo