Arthur wrote:
Python is a "naming" language. The interpreter is working with assignedI can imagine of one, see below.
names of objects more directly and more significantly than in other
languages (of which I am aware).
As a programmer, one is conversing with the interpreter by way of these names, as names and objects are closely bound.
You mention two special features:
1. Every "variable" is _always_ just a pointer/reference to an
individual object. So most of the time you don't even have to think of this level of indirection. And you can assign just about anything to a name.
2. "Live objects" can be examined on the spot in the interpreter.
You don't have this in compiled languages. Interestingly instructors in
Java seem to like this feature , too. When the language doesn't provide for it, you need an intermediate (interpreter-like) program to simulate the experience. Take the BlueJ-environment, where you can manipulate objects in a comparable way (or even through uml-editors and such).
Still, this is not only a feature of the language as such, but also of the "environment" or the tools you use together with the language. It's not being interpreted alone, it's the IDLE-shell (rather than the simple command-line), the dir() function, the always accessible module code, documentation close to the source and the flexibility in assigning names whenever you want to.
I have found one language which is very similar to Python in respect to
the two mentioned characteristics and that is Smalltalk. The
variable-concept (everything is an object, every variable a pointer), and the "live environment"-approach to programming are both going back at least as far as Smalltalk-80. (Didn't Guido mention Smalltalk as one of his influences somewhere?)
I think both languages "feel" very similar in this way. You can interact with live objects, change them in small steps, examine them (e.g. dir() in Python, inspect in Smalltalk). Programming is fun in both cases. Who needs .exe-files really?
Christian
_______________________________________________ Edu-sig mailing list [email protected] http://mail.python.org/mailman/listinfo/edu-sig
