home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!cs.utexas.edu!sdd.hp.com!saimiri.primate.wisc.edu!ames!olivea!spool.mu.edu!sgiblab!nec-gw!nec-tyo!wnoc-tyo-news!etl.go.jp!ume!crimson!kekux!s.u-tokyo!is.s.u-tokyo!jeff
- From: jeff@is.s.u-tokyo.ac.jp (Jeff McAffer)
- Newsgroups: comp.object
- Subject: Re: Object hidden state and side effects
- Message-ID: <1992Dec16.65250.10645@kei.is.s.u-tokyo.ac.jp>
- Date: 16 Dec 92 06:52:43 GMT
- References: <1992Dec11.163449.18439@crd.ge.com>
- <1992Dec13.152136.16852@hasler.ascom.ch>
- <1992Dec14.112222.13987@kei.is.s.u-tokyo.ac.jp>
- <1992Dec15.014420.6604@midway.uchicago.edu>
- Sender: news@kei.is.s.u-tokyo.ac.jp (Usenet News System)
- Reply-To: jeff@is.s.u-tokyo.ac.jp
- Organization: University of Tokyo, tcejorP Project.
- Lines: 47
-
- In article <1992Dec15.014420.6604@midway.uchicago.edu> dave@alex.uchicago.edu (Dave Griffith) writes:
-
- { whole bunch of stuff about modelling deleted }
-
- |>If the bits can change and move, then I don't see the diff between
- |>"value" and "object that does not change". In short, why can't a
- |>value be an object? What does explicitly knowing/using the fact that
- |>something does not change help us?
- |
- |It _does_ allow a lot of optimization. There are occasions where copy
- |semantics are cheaper than reference semantics. But at a higher level, it
- |seems to be necessary to allow safe programming. We need to know that noone
- |can subclass our Integer class so as to allow the old Fortranism of changing
- |3 to 5.
-
- I realize that it allows optimizations but to be honest, from a
- programming/design point of view I don't want to know about the
- implementation. That is what we are fighting against. Having to know
- and explicitly use implementation detail.
-
- I feel sort of like there is misunderstanding in this thread. At some
- point someone said that a value is not an object (or something like
- that) and that it was bad to 'pretend' that it is. Was that you? Do
- you agree with the statement? If so why?
-
- I am really at a loss here. What exactly (in concrete real terms) do
- you expect people to do differently when using true for example once
- it is recognized as a value and not an object?
-
- |Whether the actual bits are changable is rather beside to point. The idea
- |is that a values essential nature cannot change, whatever that means. This
- |is usually easiest if the bits are unchanging, but that is not necessary.
-
-
- If you want to have "essentially the same" objects great! That's just
- a differnt kind of object. Perhaps your compiler can do something
- special. Great. As a designer of large systems I don't want to know
- about it. They are just objects to which I can send messages, pass as
- parameters... They have a protocol... and allow only those operations
- that are in line with their "essential sameness"
-
- Are we talking about totally different things?
-
- --
- --
- ato de, |m -- Truth peels from the burning halls of words.
-