The “does Python have variables?” debate

Ben Finney ben at benfinney.id.au
Wed May 7 15:57:49 EDT 2014


Mark H Harris <harrismh777 at gmail.com> writes:

> So, when anyone points out that Python does not have variables, but
> rather Python has names bound to objects... they are being most
> helpful.
>
> As I pointed out earlier, I think the better approach would be to find
> positive language for helping new folks understand Python's beautiful
> heart, than the relatively negative language of stating Python has no
> variables.

You are implying a dichotomy which I don't think is useful: that
providing accurate models is “a better approach” than pointing out
existing fallacies.

Rather, the better approach IMO is to use *both*: point out existing
fallacies *and* replace them with more accurate models.

That's why I always try to say “Python doesn't have variables the way
you might know from many other languages”, *and* say “instead, it has
references bound to objects” — *in the same message*. Negative, to point
out the fallacy; positive, to provide the replacement.

Presenting an accurate model is valuable, but it's much less valuable in
isolation than pointing out that the accurate model *is superior to*,
and should replace, the existing less-accurate model in the receiver's
brain. One must necessarily use negative language to achieve that.

-- 
 \         “Religious faith is the one species of human ignorance that |
  `\     will not admit of even the *possibility* of correction.” —Sam |
_o__)                                 Harris, _The End of Faith_, 2004 |
Ben Finney




More information about the Python-list mailing list