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.6 required=5.0 tests=BAYES_05,INVALID_MSGID, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: f43e6,b87849933931bc93 X-Google-Attributes: gidf43e6,public X-Google-Thread: fac41,b87849933931bc93 X-Google-Attributes: gidfac41,public X-Google-Thread: 114809,b87849933931bc93 X-Google-Attributes: gid114809,public X-Google-Thread: 1108a1,b87849933931bc93 X-Google-Attributes: gid1108a1,public X-Google-Thread: 103376,b87849933931bc93 X-Google-Attributes: gid103376,public X-Google-Thread: 109fba,b87849933931bc93 X-Google-Attributes: gid109fba,public X-Google-Thread: 11cae8,b87849933931bc93 X-Google-Attributes: gid11cae8,public From: Tansel Ersavas Subject: Re: What is wrong with OO ? Date: 1996/12/16 Message-ID: <32B5F638.66F@deep.net>#1/1 X-Deja-AN: 204472408 references: <58se4d$68c@news3.digex.net> <32B3DD77.2F17@deep.net> <32B517D0.32BC@calfp.co.uk> content-type: text/plain; charset=us-ascii organization: RASE Inc. mime-version: 1.0 reply-to: tansel@deep.net newsgroups: comp.lang.c++,comp.lang.smalltalk,comp.lang.eiffel,comp.lang.ada,comp.lnag.java,comp.object,comp.software-eng x-mailer: Mozilla 3.0 (Win95; U) Date: 1996-12-16T00:00:00+00:00 List-Id: Nick Leaton wrote: > > Tansel Ersavas wrote: > > In fact, as soon as you start to think, you start working on abstracted > > realm. It is the basis of our thinking, our understanding. We can not > > grasp things as they are, because anything has almost infinite > > complexity. If you want to model a chair, to model it as is in the real > > world, you have to model it down to the molecules, even quarks. All of > > our thinking involves abstraction. > > Abstraction or generalisation is involved, but when modeling you can > distort reality, or delete realilty. In fact in any attempt to model anything, with exceptions of mathematical models of perfect imaginery shapes, surfaces, etc. you delete irrelevant parts of reality. When you model, you are making certain assumptions which are shaped by your understanding of the problem, and your version of reality, which may be different if someone else did it. I'll include some material by Klir and Folger, which may enlighten the subject a little bit more: Klir and Folger state: "... the complexity of an object is in the eyes of the observer. In most cases there is virtually an unlimited number of ways in which one can interact with an object. As a consequence, the interaction is almost never complete. It is based on a limited (and usually rather small) number of attributes of the object that the observer is capable of distinguishing and that are relevant to his or her interests. These attributes are not available to the observer directly but only in terms of abstract images, which are results of perception or of some specific measurement procedures. Let these abstract images of attributes be called variables. When a set of variables is established as a result of our interaction with an object of interest, we say that a system is distinguished on the object. The term system is thus always viewed as an abstraction - or an image - of some aspects of the object and not as a real thing. In other words, a system is a way of looking at the world. " > In your case of the chair you may > choose to delete atomic structure as outside your model boundary. You > might choose to model they material(s) used in making the chair, wood, > steel plastic and ignore the type of wood. It very much depends on what you want to do with the chair. Your observation and modeling parameters will be influenced by your purpose. For instance: 1. If you are a store that sells 10000 items, a chair is just another item with a price, color, dimensions, weight, etc. 2. If you are a 3-D modeler, all you want is to keep the surfaces, texture, color, and looks of the chair, your model wouldn't involve structural parameters essential 3. If you are a designer in a furniture store, and you want to create a chair model for stress test (i.e. continous application of changing forces simulating someone sitting on it, jumping to it, etc. your approach would involve a certain way of modeling The list can go on. It is very difficult to come up with a universal chair class that will satisfy all needs, even if it would be possible, it wouldn't be practical. But there are ways of modularizing these, and a component based modeling and programming is possible. > Distortion would be where you > modeled benches and chairs as a single class and ignored the restriction > on number of people that can sit on one instance at any time. > Yup > Building a model does not just involve abstraction > I haven't said that. What I said was, abstraction is not only an important part of modeling, but our thinking as well. In fact my OO modeling principles list is longer than those "essentials of OO". > Nick Tansel ----------------------------------------------------------------------- RASE Inc. Clark NJ USA Voice: (908) 396 7145 mailto:tansel@rase.com Fax: (908) 382 1383 http://www.rase.com/ ----Sufficiently advanced technology is indistinguishable from magic--- A.C. Clarke -----------------------------------------------------------------------