Path: utzoo!attcan!uunet!mcvax!ukc!dcl-cs!neil From: neil@comp.lancs.ac.uk (Neil Haddley) Newsgroups: comp.lang.smalltalk Subject: Software Reuse 2 Message-ID: <552@dcl-csvax.comp.lancs.ac.uk> Date: 16 Aug 88 11:21:47 GMT Reply-To: neil@comp.lancs.ac.uk (Neil Haddley) Organization: Department of Computing at Lancaster University, UK. Lines: 86 All, Firstly thank you to all those who replied to my earlier posting. To refresh your memory I asked for comments on: "The Inheritance mechanism of Smalltalk and other Object-Oriented programming languages provides signifi- cant support for code level Software Reuse" To tell you the honest my last mail message a little 'over the top' in an attempt to gain a greater reaction. Seriously though I do still feel that the wonders of inheritance are being over sold by some. I would still love to gain more of an insight into how inheritance is really used. What do real class inheritance trees look like ? How deep are they on average ? How useful are Abstract Classes etc. Perhaps it would be interesting to analyse a number of real class inheritance trees (could you send me some?) A few points from some of the people kind enough to reply (Please pardon the out of context nature of these quotes) : "I have done significant work in Ada, C and Smalltalk, and am be- ginning to use C++. The Smalltalk inheritance mechanism, indeed any inheritance mechanism, provides adequate support for reuse, however, considerable discipline is required to make it work in practice, and other object-oriented mechanisms aid reuse to a similar degree. It is very easy to write Smalltalk code that cannot effectively be re-used ... as a user of several languages that claim reuseability, I believe Smalltalk is the best by far, but not just because of inheritance." Jan Steinman (jans@tekcrl.TEK.COM) "Some issues: + Can it be done (with another mechanism) + How easily is it done... Next question: how often is the full power needed?" David Keppel (pardo@cs.washington.edu) "In Smalltalk, method lookup is done at the last possible moment (i.e., when you need to evaluate a message send), thus reuse is not a feature of the language that can be taken advantage of; rather it is a prescribed mechanism which *comes for free* (some might say that is a "paradigm" of o-o programming)... the "reuse" power of Smalltalk comes from the fact that the program- ming methodology points towards extension and incrementality" David Laukee (laukee%uucp.softeng%uk.ac.york.minster@uk.ac.rdg) "I think that the biggest advantage Smalltalk has in promoting software reuse is that the Smalltalk environment makes it easy to find the code that does what you want. It does this by virtue of a hierarchical system of code classification (of which classes are only a part) and of nifty tools (e.g. the System Browser) to examine the hierarchy. To the extent that the inheritance mechanism encourages new class formation and classes are part of the code hierarchy, inheritance supports code reuse. By itself however, inheritance doesn't do much." Mark Friedman (markf@zurich.ai.mit.edu) Very many thanks to the above, I hope this has been interesting. As Lewis Carol might have put it: White Knight: "People think that the Inheritance mechanism of Smalltalk and other Object-Oriented programming languages provides significant support for code level Software Reuse or or ..." Alice: "Or ?" White Knight: "Or they don't" Neil Haddley -- EMAIL: neil@comp.lancs.ac.uk | Post: University of Lancaster, UUCP: ...!mcvax!ukc!dcl-cs!neil | Department of Computing, | Bailrigg, Lancaster, UK.