[Bug 27001] Terminology: identity

https://www.w3.org/Bugs/Public/show_bug.cgi?id=27001

--- Comment #3 from Jonathan Robie <jonathan.robie@gmail.com> ---
(In reply to C. M. Sperberg-McQueen from comment #2)
> Thank you for the quotations from Grady Booch.  A couple questions occur to
> me in that connection.
> 
>   - You and others have argued in the past that we must avoid the term
> "object identity" because we have no objects and are not defining an OO
> language.  Given that premise, is it not an inconsistency on your part to
> suggest that we should follow what you suggest is an explicitly OO usage of
> the term "identity"?

Our nodes have state (properties and values) and identity.  They do not have
behavior. 

Our specifications talk about properties, values, and identity with the same
meaning as that of the OO model, and have done so for a very long time.  The
phrase "Each node has a unique node identity" goes back to 2002, and has been
used in two recommendations.

>   - The quotations from Booch seem to me perfectly normal instantiations of
> the definitions of "identity" found in standard dictionaries of English as
> "the condition of being ... itself, and not another" (this formulation from
> American College Dictionary, ed. Clarence Barnhart [New York:  Random House,
> 1947]).  None of them seem to me to license your conclusion that integers
> and other immutable things lack identity.  On the contrary, they also can be
> distinguished from all other things, and thus they seem to fit his
> characterization of identity.  Does he elsewhere say that integers have no
> identical, or that 1 is not identical to 1?  Or do you believe that the
> quotations you give license those conclusions?

To Booch, an object has identity, state and behavior. State has properties and
values.  An integer is a value.  

His model does not use the term 'identity' with respect to integers.  Neither
does ours. To do so, we would have to define what we mean by it. Our
specifications have no need to define identity for integers, because the
identity of an integer is indistinguishable from its value.  The integer 1 is
no longer the integer 1 if you change its value to 2.  Introducing a concept
like this would be confusing terminology for people who use 'identity' in the
sense of 'object identity' or 'node identity', and I don't think it adds value.

The word "identical" is not a technical term that is defined in our model. I
can't answer your question unless we define it.  If it means "has the same
value for all properties", I would answer it one way.  If it means "has the
same value for all properties and the same unique identity", I would answer it
the other way.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.

Received on Thursday, 9 October 2014 10:47:47 UTC