Xref: utzoo comp.lang.c++:6493 comp.object:946 Path: utzoo!utgpu!jarvis.csri.toronto.edu!clyde.concordia.ca!mcgill-vision!bloom-beacon!mintaka!think!zaphod.mps.ohio-state.edu!swrinde!cs.utexas.edu!rutgers!bellcore!spectral!sjs From: sjs@spectral.ctt.bellcore.com (Stan Switzer) Newsgroups: comp.lang.c++,comp.object Subject: Re: Inheritance vs. Composition Message-ID: <20020@bellcore.bellcore.com> Date: 15 Feb 90 16:39:58 GMT References: <12029@goofy.megatest.UUCP> Sender: news@bellcore.bellcore.com Reply-To: sjs@bellcore.com Switzer) Organization: Bellcore Lines: 42 Dave Jones (djones@megatest.UUCP) writes: > From article , > by pcg@rupert.cs.aber.ac.uk (Piercarlo Grandi): > > > ... [ to ] map the concepts ultimately onto contiguity or > > pointers (the only ways we have in a computer to indicate a > > relationship between data). > > That's what this all comes down to isn't it? That and what kind of > shorthand-resolution you want the compiler to do for you. (Not easy > questions, actually.) I was meaning to comment on this earlier, but I let it pass. There are many ways to represent relationships in a computer. For instance, relational databases (conceptually) use an associative technique based on the equality of attribute values. Another associative technique is pattern matching (grep, and X resource databases). Other types of reference relationships might include inter-addressing-environment references, file references, and persistent-object store references. Even granting the importance of contiguous values and pointer references, there are all sorts of possible pointer semantics: "Atom" semantics (eq <=> equal -- SETL, or some dialect of SETL, did this), capability references, self-describing references, context-described references, and simple storage-indexing memory references. > When I get into a discussion of this stuff, and inevitably somebody > says something like, 'But that can all be solved with post-recurrent > semideclined prevaricated polytrophism,' I say, 'Mumble, ... refresh > my memory on what that means. What do the compiler's lookup-tables do, > and when do you use pointers at runtime?' Sure, there is a lot of terminology out there, some of it needlessly complicated, but this terminology _does_ attempt to make useful distinctions. > For the last few years, just for the fun of it, I've been dreaming up my > own sequential imperative language. What! Another one? Stan Switzer sjs@bellcore.com