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=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fac41,b87849933931bc93 X-Google-Attributes: gidfac41,public X-Google-Thread: 109fba,b87849933931bc93 X-Google-Attributes: gid109fba,public X-Google-Thread: 1108a1,b87849933931bc93 X-Google-Attributes: gid1108a1,public X-Google-Thread: f43e6,b87849933931bc93 X-Google-Attributes: gidf43e6,public X-Google-Thread: 114809,b87849933931bc93 X-Google-Attributes: gid114809,public X-Google-Thread: 103376,b87849933931bc93 X-Google-Attributes: gid103376,public From: dstubbs@cymbal.aix.calpoly.edu (Dan Stubbs) Subject: Re: What is wrong with OO ? Date: 1996/12/13 Message-ID: <58sn9f$85r@cymbal.aix.calpoly.edu>#1/1 X-Deja-AN: 203991460 references: <58l3d4$12r@news3.digex.net> <32B176F3.5D0D@nortel.ca> <58s1uo$4m2@sun.sirius.com> organization: California Polytechnic State University, San Luis Obispo newsgroups: comp.lang.c++,comp.lang.smalltalk,comp.lang.eiffel,comp.lang.ada,comp.object,comp.software-eng Date: 1996-12-13T00:00:00+00:00 List-Id: In article <58s1uo$4m2@sun.sirius.com>, wrote: >Well, there must be something wrong with OO, >because over half of the postings in this group >debate the very existance of OO. > I don't think that anybody ever claimed that OO was the answer to every problem. The claim is that in some (perhaps many) situations it is a very powerful approach. It is a paradigm that allows one to reuse existing software that is provided in the form of objects. The reuse mechanism is inheritance. Reuse is certainly not new. But one of the primary reuse methods prior to OO was the reuse of operations (usually in the form of functions or procedures.) There are currently libraries of FORTRAN procedures for scientific applications that are undoubtedly superior to anything available in any language or supported by any other paradigm. Reuse using inheritance from objects is certainly different than reuse of operations. One difference is that you inherit both the operations and the data types acted on by those operations. The two form a tightly coupled unit. Reuse with procedures usually means finding the exisiting procedures that, when applied to your data, solve your problem. With objects you are designing an object (that solves your problem) based on other existing objects that may involve a hierarchy with several levels. Objects are made much more powerful by supporting generics (at compile time) and polymorphism (at run time). The nice thing about Ada95 is that its interface to these object mechanisms is much cleaner and easier to use than is the case for other languages that support OO. There is no doubt that the OO paradigm is very different than, for example, the procedural paradigm. The problem is that the notions of object, inheritance and polymorphism while beautiful in their simplicity are also difficult because of their subtleties. There are many internet addresses that provide object libraries. Some of them are free--some are expensive. My inclination is to give an example here, but this is already rather long so I will defer to see if there is any interest. >My own feeling is that: What is it about building >software in 1996 that is different from building >factories in 1936, so that a new design paradigm >must be invented? Did factory components have reuse, >did their components have interfaces separate from >implementation, did they have a class hierarchy? > >If they didn't, why didn't they? If they did then >how did they build these things without Booch and >company? > >Matt Young