On Fri, 09 May 2014 13:10:41 +1200, Gregory Ewing wrote: > Steven D'Aprano wrote: >> Today we routinely call horseless carriages "cars", and nobody would >> blink if I pointed at a Prius or a Ford Explorer and said "that's not a >> carriage, it's a car" except to wonder why on earth I thought something >> so obvious needed to be said. > > That's only because the term "car" *is* well established. The situation > with the word "variable" is more like if you pointed at a Prius and said > "That's not a car, it's an electric vehicle". Most people would wonder > why you refused to categorise it as a type of car.
And of there was an ongoing problem with people getting seriously confused by the differences between electric vehicles and internal combustion engine cars -- say, a steady stream of Prius owners filling the windshield washer reservoir with petrol (gasoline for Americans), or car mechanics accidentally blowing the batteries up -- then there might be a good reason to use a different name. In the absence of such confusion, why should we care? I don't object to Python using "print" to mean "display on the screen" instead of "make paper come out of the printer", because with the exception of the most naive beginners, there is no confusion caused by using that term. Nor am I terrible upset that "static method" means something very different in Java to Python, because that represents a fairly trivial misunderstanding about a single function rather than a fundamental misunderstanding about language semantics. > 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". I really don't think so. some_function(x, y+1)[key].attribute[num](arg)[spam or eggs] = 42 I'm pretty sure that it isn't common to call the LHS of that assignment a variable. > 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. What differences in assignment are you referring to? In any case, the issue is whether or not the misunderstanding leads to confusion or not. -- Steven D'Aprano http://import-that.dreamwidth.org/ -- https://mail.python.org/mailman/listinfo/python-list