Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!seal.cis.ohio-state.edu!ogden From: ogden@seal.cis.ohio-state.edu (William F Ogden) Newsgroups: comp.lang.eiffel Subject: Re: Reference Semantics Message-ID: <1991Jun21.215959.13966@cis.ohio-state.edu> Date: 21 Jun 91 21:59:59 GMT References: <1991Jun12.072557.7282@jyu.fi> <133644@tut.cis.ohio-state.edu> <1991Jun19.001829.28317@syacus.acus.oz.au> Sender: news@cis.ohio-state.edu (NETnews ) Organization: The Ohio State University, Department of Computer and Information Science Lines: 36 In article <1991Jun19.001829.28317@syacus.acus.oz.au> ian@syacus.acus.oz.au (Ian Joyner) writes: ... >>the analogy suggests strongly that we examine very carefully whether >>the visible use of references is really that central to object oriented ^^^^^^^ >>design. A good example or two ... > ... Take networking and databases, where >shared information is what the customer wants. The user may want fast >access to some information, and therefore have their own copy, or alias. >But this has the danger that their information gets out of date. If >slightly out of date information is acceptable then this is OK. If it >is not acceptable, then the user must always access the original by >means of a reference. A database is surely a shared resourse in a system, but it's not so clear that clients should share access to subcomponents of it via visible references. Generally, if several clients are using mutually referenced information as if it were private, you're going to have big problems. It is not my impression that the database community has really resolved the problem of achieving high performance while providing safe, functionally adequate access to a database. So it's unclear that this is a good basis for an example of where visible reference semantics is the obvious solution. >As object oriented programming reflects the real world, it seems that >references will be inevitable. At the risk of getting back into those dangerous analogies, note that referencs semantics really entail multiple larger objects routinely sharing possesion of smaller objects. For very good reasons, this rarely happens in the real world. Imagine, for example, several people in a room each possesing a remote tuner for the room's only television set. The chaos that would normally result makes it clear why we avoid such situations in the real world, and by analogy why we would be prudent to do so in our programming world.