The � debate

Ben Finney ben at benfinney.id.au
Thu May 8 23:13:01 EDT 2014


Gregory Ewing <greg.ewing at canterbury.ac.nz> writes:

> If you look at the way the word "variable" is used across a variety of
> language communities, the common meaning is more or less "something
> that can appear on the left hand side of an assignment statement".

The clear experience from years in this and other Python forums is that
newcomers frequently draw from the term “variable” additional, specific,
inferences that are *false* for Python.

My position is that the responsibility for avoiding terms that are
likely to encourage newcomers to draw false inferences falls to us, as
existing knowledgeable community members teaching newcomers.

> Nobody seems to complain about using the term "assigment" in relation
> to Python, despite it meaning something a bit different from what it
> means in some other languages, so I don't see anything wrong with
> using the term "variable" with the above definition.

To the extent that the term encourages or enables a mental model that is
significantly likely to lead to false inferences, the term is harmful
for a newcomer's learning.

That extent varies with each newcomer, of course; I'm pointing out that
the proportion of newcomers arriving here with a mental model of
“variable” which will produce false inferences is high enough that the
term is best replaced by terms that imply more-accurate mental models.

-- 
 \       “A computer once beat me at chess, but it was no match for me |
  `\                                     at kick boxing.” —Emo Philips |
_o__)                                                                  |
Ben Finney




More information about the Python-list mailing list