[Edu-sig] Python for Philosophers
kirby.urner at gmail.com
Wed Oct 28 19:25:09 CET 2009
I've been seeing some conversations aimed at expanding the Python
community (the community of Python users) beyond the world of computer
science and IT, into the Liberal Arts more generally. Of course
this is music to my ears.
Parallel to this notion that ordinary math learning would be enhanced
through mastery of an "executable math notation" (aka a programming
language) [K. Iverson], is the idea that contemporary academic
philosophy curricula should take these languages more seriously.
What's closer to fulfilling the Leibnizian dream of automating
thinking, modal logic or Python? Not that it's either/or of course.
I've been looking at this one of the Wittgenstein lists.
Speaking of philosophy, old timers here know I've poked at this issue
of "objectification" i.e. in some corners "to objectify" is a bad
thing to do, means you're at best being a cold fish, at worst being
inhumane to your fellow humans. I've flagged this as a PR issue we
need to address. Along those lines, I've buried a comment for
feedback, probably won't get any (too buried).
Wev'e got James Bennett in the Django tribe, yakking about the
relevance of a philosophy background to his work with Python.
Imagine a four-year philosophy program that actually featured some
programming. How would we connect Python to a philosophy of mind
thread? I try my hand at forging that link on said Wittgenstein list
 Excerpt from
James: Well, I wouldn’t say there’s anything specific necessarily. But
I think there’s a big place for people with liberal-arts backgrounds
to come to programming, and I think philosophy’s a good path to do
that. If you look at a typical philosophy program, you’re doing a lot
of logic, a lot of critical analysis, a lot of abstract reasoning. You
have to get comfortable sooner or later with all sorts of formalisms
that don’t necessarily have any practical meaning, and that’s very
similar in a lot of ways to programming :) And when you get right down
to it, as programmers, about 90% of what we’re paid to do is think:
our job is to take a problem, analyze it, break it down into pieces
and solve them. And that’s not terribly different from what you spend
four years doing in a philosophy program. I’ve actually joked about
that a bit with some of my former professors, that I still get to
argue as much as when I was doing philosophy, but the programming pays
a lot better. I do think, though, that there’s a big need for that
sort of thing; we don’t really teach critical thinking anymore, and
while it’s a vital skill to have no matter what you do for a living,
it’s absolutely crucial to programming. So if you can get a good
liberal-arts background where you’ve been taught how to look at things
and pick them apart and analyze them, you can definitely do well as a
programmer. Though it’d also be a good idea to take at least a few
elective math courses…
Computer languages were far less evolved when
Wittgenstein was writing, however they today provide a
clear exhibit of meaning as use, as the language games
have everything to do with driving machinery, making
things happen, more like those "orders in battle" he
was talking about (indeed, we speak of "imperative
languages" sometimes, of expressions as
In the Python language, one tends to use the word
"self" a lot, and indeed it plays an analogous role to
"self" in ordinary speech, in that every object has one,
and because of this "self", each object is "personalized"
i.e. rendered distinct from every other, even if it
arises from the same blueprint or class definition.
Academic logicians may have no training in such a language,
as analytic philosophy hasn't upgraded very quickly. If we
ever get to a point where contemporary high level
computer languages get into the philosophical literature,
post-Wittgensteinian especially, we may find we're blessed
with yet another tool for dislodging outmoded ways of
conceiving of "meaning".
[ Speaking of Python, we also have a strong nominalist
model in that everything is an object and every object
has its names (note use of the plural). Yes, that's right,
the very same object may have lots and lots of names,
all pointing to the very same thing. It's only when a
thing ceases to have any names at all that it's
automatically "garbage collected", meaning the memory
it occupied is now free to hold other things instead
(this memory is called "the heap"). ]
So in computer languages we have language games in
which "self" has plenty of meaning. It would also be quite
permissible to use the word "mind" in place of "self" (the
Python interpreter would not fuss at this). Yet no one
imagines that this use of "self" or "mind" is with reference
to some spooky mental phenomenon that we can't quite
put our hands on. There's far less superstition about what
it takes for these words to be meaningful.
For this reason alone I would urge anyone wishing to
understand the later Wittgenstein to pay some attention
to computer languages.
More information about the Edu-sig