home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / comp / object / 4517 < prev    next >
Encoding:
Text File  |  1992-12-13  |  3.3 KB  |  71 lines

  1. Newsgroups: comp.object
  2. 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
  3. From: steinman@hslrswi.hasler.ascom.ch (Jan Steinman - Bytesmiths, 3946)
  4. Subject: Re: Object hidden state and side effects
  5. Message-ID: <1992Dec13.152136.16852@hasler.ascom.ch>
  6. Sender: news@hasler.ascom.ch
  7. Reply-To: steinman@hslrswi.hasler.ascom.ch
  8. Organization: Ascom Hasler AG
  9. References: <1992Dec11.163449.18439@crd.ge.com>
  10. Date: Sun, 13 Dec 1992 15:21:36 GMT
  11. Lines: 58
  12.  
  13. In article 18439@crd.ge.com, eaker@ukulele.crd.ge.com (Chuck Eaker) writes:
  14. >In article <knight.724021213@cunews>, knight@mrco.carleton.ca (Alan Knight) writes:
  15. >
  16. >|> In Smalltalk one cannot delete an object of any kind. One can,
  17. >|> however, create numbers perfectly well. 
  18. >|>   Fraction numerator: 3 denominator: 4 
  19. >|> 
  20. >|> is perfectly valid Smalltalk code which creates a new fraction with
  21. >|> value 3/4. Why is that crazy?
  22. >
  23. >It's crazy because it is not an example of creating a value. The
  24. >value 3/4 has been around a long time. What this example creates
  25. >is yet another digital representation of that value.
  26.  
  27. Oh, sorry for the misunderstanding. Will all C++ compilers that store the
  28. value "3/4" in binary form *please* refrain from doing so? Instead, they
  29. are to immediately begin using the *real* "3/4" that has been around a long
  30. time.
  31.  
  32. I don't see the difference between calling "3/4" an object or something else.
  33. But let's make it more interesting; let's make it "2/3". In order to properly
  34. and accurately represent that in C++, one will have to (oh no!) create an
  35. object, since "2/3" has obviously not been around long enough for computer
  36. makers to wire it into their architecture!
  37.  
  38. Chuck has simply mistaken one reality (the abstract notion of immutable value)
  39. for another (what portion of immutable values computer manufacturers have
  40. chosen to model in hardware).
  41.  
  42. >In short, software must use objects to represent values.
  43.  
  44. So far, so good, but...
  45.  
  46. >This is
  47. >why the distinction between values and objects is of enormous
  48. >importance. Software objects are used to model real world objects
  49. >as well as real world values. Modeling objects with other objects
  50. >is far more straight-forward than modeling values with objects.
  51. >The field of numerical analysis is all about the difficulties
  52. >which arise when one is forced to use objects to represent values.
  53.  
  54. Huh? Let's replace "object" (a loaded term in this context) with "thing". Let's
  55. further agree that a fraction, or an integer, or the set of values "1", "2",
  56. and "3", or for that matter, the set of values endorsed by the Republican
  57. National Convention, are all "things". None of them *are* the set of binary
  58. patterns that represent them in a computer's memory, but must be represented or
  59. modelled since they are abstract. Some of them are modelled in hordware, some
  60. must be modeled in software.
  61.  
  62. If you accept this premise, do you still insist that it is fundamentally
  63. necessary to represent "family values" in a different manner than the values
  64. "1 2 3"?
  65.  
  66. ---
  67. : : Jan Steinman, Bytesmiths               steinman@hasler.ascom.ch : :
  68. : : 2002 Parkside Court, West Linn, OR 97068-2767 USA        +1 503 657 7703 : :
  69. : : Beundenfeldstrasse 35, CH-3013, Bern, Switzerland        +41 31 42 47 11 : :
  70.  
  71.