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: 103376,1dc0d0f1c69afb5a X-Google-Attributes: gid103376,public From: "James S. Rogers" Subject: Re: Is Ada an OO Language? (was => Re: polymophism) Date: 1996/11/25 Message-ID: <329A6B9B.2C3@worldnet.att.net>#1/1 X-Deja-AN: 200774766 references: <56q99a$5o3@rc1.vub.ac.be> <56skhq$9cg@hacgate2.hac.com> <570f4b$rbu@queeg.apci.net> <3295E624.726B@watson.ibm.com> content-type: text/plain; charset=us-ascii organization: AT&T WorldNet Services mime-version: 1.0 newsgroups: comp.lang.ada x-mailer: Mozilla 2.02E (Win95; U) Date: 1996-11-25T00:00:00+00:00 List-Id: Richard Riehle wrote: > > This is not to suggest returning to the old days before we thought > about software in terms of objects. It simply is a question about > the potential limitations inherent in our commonly accepted view > of software objects. Perhaps the notion of object is too small an > idea. > If objects are to model real world entities then there must be a real subset of all objects which are independent units capable of acting asynchronously with their environment and synchronously with each other. This means that many objects are best implemented as tasks. This leads to the further realization that some objects represent active entities while others represent resources. The resources can be modeled in Ada as protected types. The active objects can be modeled as tasks. The active objects interact with each other either directly, in synchronous activities (rendevous) or through asynchronous competition for resources (protected types). The limitation of this approach is that it is not always optimal for performance. This accurately models how real entities behave. They also exhibit a similar sub-optimal performance. We often find ourselves trying to develop near perfect models of very imperfect reality. Perhaps we can more easily achieve accurate models if we intentionally accept and exploit the sub-optimal nature of reality. This view of objects extends the older view of objects as mere associations of state and function which communicate via messages. Independently executing objects communicate indirectly through the contention for resources. These objects have no need of knowledge of each other. They only need to know about the resource and its current availability. Nonetheless, these objects do communicate with each other. They influence each others behavior through competition for limited resources. When these objects interact directly they form communities. Object communities can only occur among objects which have a direct knowledge of each other. Objects within a community can also compete for resources, or even share resources. Communities can only compete for resources or communicate through commonly accessed resources. Once communities gain direct knowledge of each other they cease to be independent communities. Instead they form a larger combined community. >From this point of view I would say that Ada and Java are more object oriented than Eiffel or smalltalk. Of course, this definition of an OO language is no more useful than the one which started this thread. Jim Rogers ------------------- Team Ada