Origin of the term "first-class object"
rainerd at eldwood.com
Tue Nov 18 00:18:52 CET 2003
John Roth wrote:
> For example, in Python both classes and functions are
> objects (there are no second class citizens in Python...)
I would consider variables to be second-class citizens. You can change
their value, delete them, and get at the object to which they refer, but you
can't do much else with them.
> In Java, neither classes nor methods are first class
> objects, even though you can get a "class" object
> if you ask politely, it's simply a special construct
> for the reflection mechanism.
> In C++, neither is an object, first class or not.
While you can't create new functions and unbound methods in C++ at runtime,
you can take their address and pass that around as a first class object.
Bound methods are another matter.
Rainer Deyke - rainerd at eldwood.com - http://eldwood.com
More information about the Python-list