anything like C++ references?

Adam Ruth owski at hotmail.com
Tue Jul 15 13:33:17 EDT 2003


Stephen Horne <intentionally at blank.co.uk> wrote in message news:<vjv6hv03dfrooog8jsotnr1eu4a8j3hr17 at 4ax.com>...
> On Mon, 14 Jul 2003 20:57:44 -0700, Tom Plunket <tomas at fancy.org>
> wrote:
> 
> >Stephen Horne wrote:
> >
> >> >Are they really technicalities, though?  I mean, a mutable object
> >> >can be changed.  It's the same object, just changed.  Immutable
> >> >objects, however, can't be changed.  You can get something that
> >> >appears like changing it, but it's actually building a new thing
> >> >and binding the label to that new thing.
> >> 
> >> Yes. But the thing being changed *is* an object, *not* a value. Values
> >> are always immutable - basic fact of mathematics.
> >
> >Sure, but we're not modelling pure mathematics, we're modelling a
> >level of abstraction that's appropriate for the problem that
> >we're solving.
> 
> If that were true, the abstraction would not regularly be causing
> confusion and errors, and it would not be a recurring issue on this
> newsgroup.

There's two types of confustion:  

1) Confusion about abstraction itself.  It's complex for people to
grasp, that's true of *any* language.  Programming is hard, that's
just a fact of life.

2) Cross language confusion.  Anyone moving from one language to
another will have confusion, depending on how different it is.  People
coming from Smalltalk or Ruby to Python don't get confused about this
issue, they get confused about other things.  This is a big confusion
for C and C++ programmers, but other things make perfect sense.

You're reading too much into this confusion, as though it means
there's something wrong with the Python implementation.  If we all
jumped onto an analog computer, I'm sure we'd all be flustered because
it's not like the digital computing we're used to.  But some of us
wouldn't cry foul at how the analogs are going about doing it all
wrong.

Adam Ruth




More information about the Python-list mailing list