[Edu-sig] a philosophical aside about names and objects
kirby urner
kirby.urner at gmail.com
Tue May 6 02:54:36 CEST 2008
In followup to recent threads...
On a related topic, though somewhat tangentially, in a
smattering of posts scattered across the Internet I'm on
record arguing *against* what I call the "name -> object"
paradigm (that's like an arrow in between them) whereas
here I've just been thinking how easily Python helps us
make sense of this dogma.
In philosophy going back to St. Augustine at least, you've
got this picture of nouns or names "pointing" (in some
magical unspecified way) to cows in the field or whatever.
According to this school of though, language itself is
essentially just "(word, thing) pairs" and the "process of
meaning" involves doubling and mapping to make "word
pictures" fit facts or fancies. Wittgenstein's first
philosophy was a careful encoding of this view, using
the in-vogue pre-computer logical notations of his day.
In this view, language is all about nouns and their many
"relationships" -- prototypical of "attributes" in later OO,
reflective of state.
Anyway, thanks to Wittgenstein's second take on
the matter (an overhaul or recasting), a school of us
came away seeing the word "cow" more as a part of
some vast api for controlling stuff at runtime, less as
a pointer to anything.
Words become tools in this alternative summary vision,
operational bits. Screwdrivers needn't "point" to be
useful, and the screws they turn aren't their "meanings".
Likewise with "cow" (another tool). **
We inherit these controller functions through our culture,
plus pass on some innovations.
[ I'm not saying I'm always proud of a culture I inherit
from, vis-a-vis its treatment of cows for example --
redesigning the api seems in order, might clear up
some other design flaws in the process ]
In Python, the magic of "pointing" relates to our native
concept of *dictionary* as that which pairs names with
objects.
The fact that module.__dict__ and self.__dict__ have
a somewhat parallel meaning in Python helps get
across how modules are themselves somewhat like
class definitions, in terms of providing namespaces.
My understanding of Perl is this identification actually
got made when it went OO -- am I right about that?
Anyway, just wanted to archive something along these
lines, given all my work deprecating the name -> object
paradigm elsewhere. That's work I don't want to undo,
even as I admire Python's logical design.
Kirby
Key referent:
http://www.grunch.net/synergetics/mathphil.html
** -- often useful to say when pointing, as when
trying to single out that one animal (a cow) from
some others.
More information about the Edu-sig
mailing list