On Sat, 29 Jun 2013 19:02:01 +0200, Antoon Pardon wrote: > Op 29-06-13 16:02, Michael Torrie schreef: >> >> The real problem here is that you don't understand how python variables >> work. And in fact, python does not have variables. It has names that >> bind to objects. > > I don't understand why members of this list keep saying this. Sure the > variables in python behave differently than those in C and algol But > they behave similarly as those in smalltalk and lisp and I haven't seen > anyone claim that smalltalk and lisp don't have variables. > > We might as well say that C doesn't have variables, it has names > pointing to memory locations or value containers or something like that. > > AFAICS there is no reason why "variable" wouldn't be appropiate for > python names as opposed to C names.
You are absolutely correct in principle. But in practice, there are ten bazillion C, Pascal, COBOL, and BASIC programmers who understand the word "variable" to mean a named memory location, for every Smalltalk or Lisp programmer who understands a "variable" as a name binding. So it's pure weight of numbers thing. The average Lisp programmer will be completely aware that "variable" can mean various things, and take care to determine what the word means in Python. She will immediately grok what we mean, even if she thinks that the "no variables" part is just an affectation ("Heh, those wacky Python dudes think they don't have variables!") but at least she'll understand the name binding part. On the other hand, the average C programmer is barely aware that there are other languages at all, let alone that some of them differ from C in semantics as well as syntax. So by emphasising the differences ("Python has no variables? It has name bindings?") we increase the likelihood that he'll learn the differences in semantics as well as syntax. So, in a very practical sense, "Python has no variables, it has name bindings" is completely wrong except in the sense that really matters: Python's variables don't behave identically to C variables. -- Steven -- http://mail.python.org/mailman/listinfo/python-list