Modifying Class Object
Steven D'Aprano
steven at REMOVE.THIS.cybersource.com.au
Wed Feb 10 16:46:19 EST 2010
On Wed, 10 Feb 2010 21:02:14 +0100, Alf P. Steinbach wrote:
> "pointer" refers to a copyable reference value as seen from the Python
> level, in the same way as "pointer" is used by e.g. the Java language
> spec.
Python doesn't have "copyable reference values" in the Python level. It
has objects.
It seems to me that your argument is based on the premises:
(1) that the "value" of a variable is not what 99.99% of people would
describe as the value, but is some hidden, implementation dependent
"pointer" instead;
(2) that "pointer" doesn't necessarily mean what 99% of people who
learned C or Pascal understand by pointer;
(3) that mangling both common English and programmers' expectations in
that fashion is somehow more accurate and more useful than using the 35
year old term "call by object" (or "call by object reference");
(4) and, presumably because of some deeply-held belief that the only
parameter passing strategies that we're allowed to talk about are "call
by value" and "call by reference", no matter how much violence we do to
the concept of both value and pointer, Python and Java must be call-by-
value since they clearly aren't call-by-reference.
Of these, the only one that I consider value is that Python and Java are
not call-y-reference. Otherwise, I reject all these premises, and
consequently none of your arguments make the slightest sense to me. You
keep talking about Python operating on pointers. I've never used a single
pointer in 10+ years of Python coding, no matter how many times you tell
me I have. What the implementation of the Python virtual machine does is
not what I do high-level Python code, and the implementation is not the
language.
--
Steven
More information about the Python-list
mailing list