From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: ** X-Spam-Status: No, score=2.6 required=5.0 tests=BAYES_40,INVALID_DATE, MSGID_SHORT,REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!rochester!crowl From: crowl@rochester.arpa (Lawrence Crowl) Newsgroups: comp.lang.ada,comp.lang.misc Subject: Re: Software Reuse -- do we really know what it is ? Message-ID: <374@sol.ARPA> Date: Sun, 21-Jun-87 20:50:18 EDT Article-I.D.: sol.374 Posted: Sun Jun 21 20:50:18 1987 Date-Received: Tue, 23-Jun-87 00:45:26 EDT References: <8706160502.AA26398@ucbvax.Berkeley.EDU> <371@dcl-csvax.comp.lancs.ac.uk> Reply-To: crowl@rochester.UUCP (Lawrence Crowl) Distribution: world Organization: U of Rochester, CS Dept, Rochester, NY Xref: mnetor comp.lang.ada:402 comp.lang.misc:459 List-Id: In article <371@dcl-csvax.comp.lancs.ac.uk> craig@comp.lancs.ac.uk (Craig Wylie) writes: >... The scale of software that Ada allows the programmer to reuse seems to be >primarily that of the package. Is this sufficient? Personal opinion: It is not. The mechanism is sufficient if the programmer of a package is very thorough and very disciplined. However, programmers are often under too much presure to be so. Modula-II mechanisms are insufficient because they do not provide generics. >1. We don't really know what it is. Well, I find a glimering of re-use in reading Knuth's books. I will point at an analogy though. Board level designers constantly use circuits designed by others. They are packaged in integrated circuits. >2. It probably isn't a thing at all, but rather a collection of things > depending on the scale at which the reuse is to take place. I agree. However, I consider discipline and investment as necessary things. >3. Languages such as Ada and Modula-2, and imperative languages in > general are unsuitable for writing reusable software because of > their concentration on the HOW rather than the WHAT. Clearly, we need more concentration on WHAT, but we should not abandon the efficiency of HOW. >4. Reuse of Design isn't considered at all by any current applications > language. The separation of abstract type from implementation in Trellis/Owl and Emerald helps. In addition the pre/post conditions of Eiffel provide some (though not enough) facilities for ensuring the WHAT. (See Proceedings OOPSLA'86 in the November 1986 SIGPLAN.) >5. Nobody can force programmers to write good reusable code. True. But no one need buy code that is not both good and reusable. I believe there is a market for such code. >6. Even if they do write reusable code how the **** do we ever find it > again so that we can reuse it ? Well, libraries do a somewhat reasonable job of reusing intellectual work in other forms. Perhaps they could be drafted into this task also. -- Lawrence Crowl 716-275-5766 University of Rochester crowl@rochester.arpa Computer Science Department ...!{allegra,decvax,seismo}!rochester!crowl Rochester, New York, 14627