email@example.com (Andrew Koenig) writes:
> Exactly. They are two different objects with the same value.
> Whether or not that is an easy concept to live with seems to depend
> on the local culture.
> Which is the main point I was trying to make.
And your point is...?
As I don't belong to your local culture, such beliefs are irrelevant
to our discussion, which is a bit more about Truth & Beauty rather
than local culture or lack thereof.
There are "local cultures" where anything not mentioned in the Bible
is disallowed (e.g., electricity and motor cars); other "local
cultures" believe that discrimination based on skin color is good.
These beliefs are irrelevant to any discussion about the merits of
electricity and racial discrimination.
If there are two different objects with the same value there must be
some reason for that. Otherwise it is easy to become confused and
update the wrong object (there's no way to tell them apart ... they
look the same). A particularly nasty version of this is when the
compiler quietly creates a copy of a parameter during a function call.
[Not that updating-in-place is a good idea, if it can be avoided. But
that's a separate issue, which other people are happily discussing
very well without my help or hindrance.]
It seems that you live in a culture that thinks two different objects
with exactly the same value are OK. So, please tell my *why* you
think this is a good thing. After all, the people who live without
electricity have their reasons ... but I have not yet heard your
reasons for not wanting what my experience has taught me is a
wonderful thing: referential transparency.
Peter Ludemann +1.415.813.6806 (fax: +1.415.813.7499)
Software Architect firstname.lastname@example.org
InXight Software, Inc. http://www.inxight.com
PAHV 105, 3400 Hillview Ave., Palo Alto, CA 94304