IsString

Mike Meyer mwm at mired.org
Wed Dec 14 21:51:03 EST 2005


Donn Cave <donn at u.washington.edu> writes:
> I would like to argue that "value" basically means the
> computational effect.  In "s = a + b", the value of "b"
> is whatever ends up applied to that "+" operator.  In
> isolation, the value of some object is its computational
> potential - the object isn't its value, rather the
> implementation of the value.  Parameter passing isn't
> a computation in this sense, and it doesn't make sense
> for it to have its own interpretation of "value".

Now you're hovering on the edge of call by name.

> Historically, the way I remember it, there was a time not too
> long ago when GvR and his minions sort of dismissed the idea
> that you needed to understand the reference/object model from
> the outset.  I mean, obviously you need to get there eventually
> if you're going to be a hard core Python programmer, but they
> wanted to see people learning to write programs, without being
> encumbered by knowledge of implementation details, and ideas
> about the difference between "variable" and "binding" are
> certainly about implementation details.

No, they're not. They're a fundamental part of the semantics of the
language. But you are right - you should be able to learn how to
program in Python without having to learn about those thing. The fact
is, you can do that - if you don't have any preconcieved notions about
what the names are and how they behave. If you have to unlearn things
from another language (like that variables have types, or values that
can be changed), then you'll need the difference explained the first
time the difference is noticable.

     <mike
-- 
Mike Meyer <mwm at mired.org>			http://www.mired.org/home/mwm/
Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.



More information about the Python-list mailing list