Slices time complexity
Steven D'Aprano
steve+comp.lang.python at pearwood.info
Wed May 20 01:57:45 EDT 2015
On Wednesday 20 May 2015 14:30, Rustom Mody wrote:
> And what about Java?
> http://stackoverflow.com/questions/166033/value-semantics-and-pointer-
semantics
Congratulations, you have found yet another example of the Java community's
collective delusion and insistence on misusing terms for the maximum
confusion possible.
The mental gymnastics they go through to force the round peg of pass-by-
sharing object semantics into the false dichotomy "pass-by-value versus
pass-by-reference" is just crazy.
One consequence of this is that the meaning of "call by value" depends on
whether the value you are talking about is a boxed or unboxed value. Unboxed
values are copied. Boxed values are not. Except that they are, if you
understand that "the value" doesn't refer to the actual value, but to some
hidden and implementation-dependent reference to the value.
To quote Fredrik Lundh:
well, I guess you can, in theory, value an artificial number
assigned to an object as much as the object itself.
"Joe, I think our son might be lost in the woods"
"Don't worry, I have his social security number"
http://effbot.org/zone/call-by-object.htm
Rustom, if you are serious about this approach, then the implication is that
if I execute "x = 23" in Python, and I ask you what the value of x is, you
should answer something like "146588120" (that's the implementation
dependent "value", i.e. the address of the int 23).
It's just *nuts*, and all because the Java folks are unwilling or unable to
distinguish between the language semantics and the implementation of the
language. And you're falling into the same hole.
--
Steve
More information about the Python-list
mailing list