home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.object
- Path: sparky!uunet!ornl!utkcs2!emory!swrinde!cs.utexas.edu!zaphod.mps.ohio-state.edu!wupost!gumby!yale!yale.edu!ira.uka.de!math.fu-berlin.de!news.netmbx.de!Germany.EU.net!mcsun!chsun!hslrswi!bytesmiths!steinman
- From: steinman@hslrswi.hasler.ascom.ch (Jan Steinman - Bytesmiths, 3946)
- Subject: Re: Object hidden state and side effects
- Message-ID: <1992Dec13.152136.16852@hasler.ascom.ch>
- Sender: news@hasler.ascom.ch
- Reply-To: steinman@hslrswi.hasler.ascom.ch
- Organization: Ascom Hasler AG
- References: <1992Dec11.163449.18439@crd.ge.com>
- Date: Sun, 13 Dec 1992 15:21:36 GMT
- Lines: 58
-
- In article 18439@crd.ge.com, eaker@ukulele.crd.ge.com (Chuck Eaker) writes:
- >In article <knight.724021213@cunews>, knight@mrco.carleton.ca (Alan Knight) writes:
- >
- >|> In Smalltalk one cannot delete an object of any kind. One can,
- >|> however, create numbers perfectly well.
- >|> Fraction numerator: 3 denominator: 4
- >|>
- >|> is perfectly valid Smalltalk code which creates a new fraction with
- >|> value 3/4. Why is that crazy?
- >
- >It's crazy because it is not an example of creating a value. The
- >value 3/4 has been around a long time. What this example creates
- >is yet another digital representation of that value.
-
- Oh, sorry for the misunderstanding. Will all C++ compilers that store the
- value "3/4" in binary form *please* refrain from doing so? Instead, they
- are to immediately begin using the *real* "3/4" that has been around a long
- time.
-
- I don't see the difference between calling "3/4" an object or something else.
- But let's make it more interesting; let's make it "2/3". In order to properly
- and accurately represent that in C++, one will have to (oh no!) create an
- object, since "2/3" has obviously not been around long enough for computer
- makers to wire it into their architecture!
-
- Chuck has simply mistaken one reality (the abstract notion of immutable value)
- for another (what portion of immutable values computer manufacturers have
- chosen to model in hardware).
-
- >In short, software must use objects to represent values.
-
- So far, so good, but...
-
- >This is
- >why the distinction between values and objects is of enormous
- >importance. Software objects are used to model real world objects
- >as well as real world values. Modeling objects with other objects
- >is far more straight-forward than modeling values with objects.
- >The field of numerical analysis is all about the difficulties
- >which arise when one is forced to use objects to represent values.
-
- Huh? Let's replace "object" (a loaded term in this context) with "thing". Let's
- further agree that a fraction, or an integer, or the set of values "1", "2",
- and "3", or for that matter, the set of values endorsed by the Republican
- National Convention, are all "things". None of them *are* the set of binary
- patterns that represent them in a computer's memory, but must be represented or
- modelled since they are abstract. Some of them are modelled in hordware, some
- must be modeled in software.
-
- If you accept this premise, do you still insist that it is fundamentally
- necessary to represent "family values" in a different manner than the values
- "1 2 3"?
-
- ---
- : : Jan Steinman, Bytesmiths steinman@hasler.ascom.ch : :
- : : 2002 Parkside Court, West Linn, OR 97068-2767 USA +1 503 657 7703 : :
- : : Beundenfeldstrasse 35, CH-3013, Bern, Switzerland +41 31 42 47 11 : :
-
-