[Edu-sig] Welcome news from UK (more Pycon promo)
kirby urner
kirby.urner at gmail.com
Sat Jan 31 06:12:05 CET 2009
On Fri, Jan 30, 2009 at 3:07 PM, kirby urner <kirby.urner at gmail.com> wrote:
> I'm glad our UK math guy in residence, Sociality's Ian Benson, is
> planning to attend Pycon, just got his booking.
>
> We've been looking at interconnected computer science concepts and
> their applications in early mathematics education, namely:
> disambiguation (per Wikipedia, but a general concept), name
> collisions, namespaces. The first two are quasi-synonymous while the
> latter is our solution, a honkin' great feature of Python, while also
> the purpose of addressing more generally, URIs in particular.
>
Actually, that was a bit sloppy of me.
Disambiguation is what we need to do in *response* to name collisions,
i.e. when people use the same word with different meanings, they're
setting themselves up for confusion, unless and until we disambiguate.
Namespaces to the rescue. import this...
In Wittgenstein's writing, a "language game" was sometimes given the
context of "a tribe" i.e. let's just imagine this ethnicity like in
'Lost' (in fact 'Lost' is a great example), all talking this certain
way, doing these practices -- important to focus on language as an
"embedded" activity, i.e. more than just tongue-wagging.
His 'Philosophical Investigations' begins with some guy saying 'brick'
and an assistant fetching a brick. Something like that, some program
in action, objects at work.
This somewhat anthropological approach has applications in our
business, as our "tribal languages" have the feature of operating
machinery (both light and heavy) i.e. they get the tribe's work done
(as do all languages in some sense -- but the electronics bit is new,
something Leibniz was dreaming about, Ada too -- and so now we have
tribal data centers).
Wittgenstein would invent language games to "tease out" or "isolate"
what we might today call "design patterns" i.e. typical superpositions
of behaviors and sayings, re-encountered in varying circumstances
(deja vu!) but all with a "family resemblance" e.g. "board games" or
"sports involving sliding downhill in on snow" or "commanders giving
orders in battle".
In terms of practicing our profession, what it comes down to is geeks
want to understand their own work, and so pick memorable key terms,
likely to help them understand their code latter.
They'll name their objects Bridge, Queue, Topic, Apache, Dwelling --
all in the public commons, available to anyone, but then if you go
around relying on others' work, bringing it into your own, you don't
want to confuse every Bridge with every other Bridge and so on, or the
code with break down.
Hence name collisions as a possibility (a danger, risk), hence
namespaces (a solution), signified in dot notation.
I realize this all sounds rather trivial and obvious to Pythonistas,
as natural as snake's milk on breakfast cereal.
However, philosophers have been slogging along with paper and pencil
notations, not forced to think like computer scientists the way those
Mathematica people had to, when disambiguating a few of those
pre-computer math notations, rationalizing 'em to make 'em more
machine-worthy.
To many philosophers, our "namespaces" concept will seem a revelation,
a honkin' great idea, the harbinger of liberal arts still to come.
Many philosophers, confronted with Bucky Fuller's divergent meaning
for "precession" for example, would suggest he use a completely
different word. Or they'd say (more generally): if you don't mean by
"gravity" what I mean by "gravity" then how about you say "shmavity"
instead?
This is a very awkward approach to disambiguation, not a good solution
to the name collision problem. They're not thinking like programmers.
Python's solution, and dot notation more generally, is far more
logical and apropos. We're lucky we have it. As Python teachers,
we're already ahead of 90% of the practicing philosophers out there.
Kirby
More information about the Edu-sig
mailing list