Origin of the term "first-class object"

Erik Max Francis max at alcyone.com
Mon Nov 17 23:11:59 CET 2003

Hung Jung Lu wrote:

> Does anybody know where this term comes from?
> "First-class object" means "something passable as an argument in a
> function call", but I fail to see the connection with "object class"
> or with "first-class airplane ticket".

It doesn't have any connection with the former (since the term long
predates object orientation, so far as I know).  It does have a
connection to the latter, in that something going first class has all
the privileges and properties owed to it as a complete and total thing. 
So a "first-class object" is a complete entity unto itself, and can be
passed to functions and returned from them, as you suggest.

Think of "first-class object" as "important thing" and maybe it'll make
slightly more sense.

   Erik Max Francis && max at alcyone.com && http://www.alcyone.com/max/
 __ San Jose, CA, USA && 37 20 N 121 53 W && &tSftDotIotE
/  \ 
\__/ The only way to get rid of a temptation is to yield to it.
    -- Oscar Wilde

More information about the Python-list mailing list