My realization:
In a world of reference semantics (RS), there are two kinds of entities — names and values. Whereas in a world of value semantics (VS), there is only one kind of entities — values.
Examples:
-
assignment/definition
a = b
RS interpretation: nameais bound to the value that namebis currently bound to
VS interpretation: valueais assigned to be a copy of valueb -
function call
foo(p)
RS interpretation:fooworks with the value that namepis bound to
VS interpretation:fooworks with a copy of valuep