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: 109fba,7f8fc37d854731d6 X-Google-Attributes: gid109fba,public X-Google-Thread: 114809,7f8fc37d854731d6 X-Google-Attributes: gid114809,public X-Google-Thread: 1108a1,7f8fc37d854731d6 X-Google-Attributes: gid1108a1,public X-Google-Thread: 103376,7f8fc37d854731d6 X-Google-Attributes: gid103376,public X-Google-Thread: 10461e,7f8fc37d854731d6 X-Google-Attributes: gid10461e,public From: pcg@aber.ac.uk (Piercarlo Grandi) Subject: Re: Interesting but sensitive topic to discuss (HELP: - OOP and CASE tools) Date: 1996/11/12 Message-ID: #1/1 X-Deja-AN: 195932695 sender: pcg@osfb.aber.ac.uk references: <32813322.41C6@kyebek3.kjist.ac.kr> <55pqr5$136a@grimsel.zurich.ibm.com> <328109CD.6685@concentric.net> <3286402A.3375@inxpress.net> organization: Prifysgol Cymru, Aberystwyth newsgroups: comp.object,comp.lang.c++,comp.lang.ada,comp.lang.smalltalk,comp.ai Date: 1996-11-12T00:00:00+00:00 List-Id: >>> "drs" == drs writes: [ ... much omitted,including an outline for a class 'complex' ... ] piercarl> main() piercarl> { piercarl> complex c1, c2; piercarl> //etc. piercarl> } piercarl> Is this an OO program? It's hard for me to see any objects in piercarl> it either for I can only see variables (memory objects, a piercarl> different concept) and they don't interact with each other in piercarl> any sort of interesting meaning of the word. drs> Well, c1 and c2 are indeed instantiations of the above prototype; Which ones? (rhetorical question alert) drs> they have a defined address and can do things (unlike the drs> prototype). What can they do? (rhetorical question alert) drs> You're wrong if you think c1 and c2 are not objects; they drs> are. entities of the class complex create their own scope, which is drs> internal and allows internal processes. This really is quite drs> different from C. Oh no, oh please -- we have been on this subject for the past few months (and before that a few years ago with the "simply put an object is a variable" thread). Not again, not so soon. Oh no, not again. Well, I'll then quote high authority, Grady Booch, hoping that it will be enough: OOADWA> Suppose that we have the following declarations: OOADWA> StorageTank s1,s2; OOADWA> WaterTank w; OOADWA> NutrientTank n; OOADWA> Variables such as 's1', s2' w, and 'n' are not objects. To be OOADWA> precise, they are simply names that we use to designate OOADWA> objects of their respective types: when we say ``the object OOADWA> 's1''' we really mean the instance of 'StorageTank' denoted by OOADWA> the variable 's1'. We will explain this subtlety again in the OOADWA> next chapter. Too bad that the next chapter does not really contain a good explanation, butnthis should be enough. drs> Now, if your idea is that "Object-oriented" boils down to message drs> sending, then I think you're correct; Oh no, not again, I think I have participated in thread on this very same subject at least three times in as many years. Oh no, not again. drs> but by that definition there are only a few true "object-oriented" drs> languages, and C++ is not one of them. Oh no, not again, I think I haveparticipated in threads on this very same subject at least N times in as many years. Oh no, not again. Well, as the saying goes, repetition is the very essence of USENET, whose very essence is repetition, as somebody said.