Python for Philosophers

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Python for Philosophers

kirby urner-4
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.[0]  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.[1]

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).[2]

Wev'e got James Bennett in the Django tribe, yakking about the
relevance of a philosophy background to his work with Python.[3]

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
(concluding paragraphs).[4]

Kirby



[0] http://archives.free.net.ph/message/20090831.140043.d7465e01.en.html

[1] http://www.freelists.org/post/wittrsamr/More-on-meaning-as-use-reply-to-Josh,1

[2] http://theangryblackwoman.com/2009/10/01/the-dos-and-donts-of-being-a-good-ally/#comment-26523

[3] Excerpt from
http://uswaretech.com/blog/2008/04/interview-with-james-bennett-django-release-manager/

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…

[4] http://www.freelists.org/post/wittrsamr/More-on-meaning-as-use

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
"commands").

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.

Kirby
_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig
Reply | Threaded
Open this post in threaded view
|

Re: Python for Philosophers

Laura Creighton-2
I think that a course in Epistemology that ended up in Bayesian
logic and probability would be pretty cool.

Laura

_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig
Reply | Threaded
Open this post in threaded view
|

Re: Python for Philosophers

kirby urner-4
In reply to this post by kirby urner-4
On Wed, Oct 28, 2009 at 11:25 AM, kirby urner <[hidden email]> wrote:

<< trim >>

ADDENDUM:

>
> [0] http://archives.free.net.ph/message/20090831.140043.d7465e01.en.html
>

I acknowledge in advance that some here may send up a red flag re my
citing of a post by Xah Lee.

The late Arthur Siegel mentioned him a ways back in this archive,
asking if I knew him (answer: not yet).

http://mail.python.org/pipermail/edu-sig/2006-September/007247.html
http://mail.python.org/pipermail/python-list/2009-March/172547.html

But then both Arthur and I have had our share of detractors, so it's
not my place, as a teapot, to call the kettle black.
http://answers.yahoo.com/question/index?qid=20080107065526AAOSeeK
(explaining the idiom).

Kirby

PS:  I see Xah really likes Abbott's 'Flatland', which I do as social
satire, but then I think it's been over-used to pump up certain brands
of shamanism within the math-physics community (yes, that's a
provocative way of putting it, which Juan rightly questioned -- did my
best to explain here):

http://groups.google.com/group/mathfuture/msg/776d6b1dc2c526c5?hl=en
_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig
Reply | Threaded
Open this post in threaded view
|

Re: Python for Philosophers

kirby urner-4
In reply to this post by Laura Creighton-2
On Wed, Oct 28, 2009 at 11:32 AM, Laura Creighton <[hidden email]> wrote:
> I think that a course in Epistemology that ended up in Bayesian
> logic and probability would be pretty cool.
>
> Laura
>
>

Agreed.  This was a topic at OS Bridge this summer, which I
unfortunately didn't manage to attend:

http://opensourcebridge.org/sessions/20

Kirby

PS:  OSCON is coming back to Portland next year.  We'll be having OS
Bridge as well, woo hoo.
_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig
Reply | Threaded
Open this post in threaded view
|

Re: Python for Philosophers

Mokurai
In reply to this post by kirby urner-4
My degree is in Math and Philosophy. Most of the Foundations of
Mathematics courses were in the Philosophy department back then,
including a lot of what turned into Computer Science.

On Wed, Oct 28, 2009 at 11:25, kirby urner <[hidden email]> wrote:
> 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.[0]  Of course
> this is music to my ears.

The Two Cultures prejudice is one of the worst ever.

> 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.[1]

We're doing quite well at Artificial Stupidity, I hear. ;->

> 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.

Reification is also a problem. Most people imagine a world made of
things. Wittgenstein tried to imagine a world made of facts. Some
scientists have noticed that this is a world of a) we don't know what
and b) we don't know how to think about it. Mathematically, the world
could just as well (or as poorly) be composed of relations or
processes.

> 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).[2]
>
> Wev'e got James Bennett in the Django tribe, yakking about the
> relevance of a philosophy background to his work with Python.[3]
>
> Imagine a four-year philosophy program that actually featured some
> programming.

As I said, I did that--Turing machines and several of the
Church-equivalent systems, modal and combinatorial logic, recursive
function theory, non-standard arithmetic and analysis...

> How would we connect Python to a philosophy of mind
> thread?  I try my hand at forging that link on said Wittgenstein list
> (concluding paragraphs).[4]
>
> Kirby
>
>
>
> [0] http://archives.free.net.ph/message/20090831.140043.d7465e01.en.html
>
> [1] http://www.freelists.org/post/wittrsamr/More-on-meaning-as-use-reply-to-Josh,1
>
> [2] http://theangryblackwoman.com/2009/10/01/the-dos-and-donts-of-being-a-good-ally/#comment-26523
>
> [3] Excerpt from
> http://uswaretech.com/blog/2008/04/interview-with-james-bennett-django-release-manager/
>
> 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…
>
> [4] http://www.freelists.org/post/wittrsamr/More-on-meaning-as-use
>
> 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
> "commands").
>
> 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.
>
> Kirby
> _______________________________________________
> Edu-sig mailing list
> [hidden email]
> http://mail.python.org/mailman/listinfo/edu-sig
>



--
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://www.earthtreasury.org/
_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig
Reply | Threaded
Open this post in threaded view
|

Re: Python for Philosophers

kirby urner-4
On Wed, Oct 28, 2009 at 10:07 PM, Edward Cherlin <[hidden email]> wrote:
> My degree is in Math and Philosophy. Most of the Foundations of
> Mathematics courses were in the Philosophy department back then,
> including a lot of what turned into Computer Science.
>

I did philosophy as well, as an undergrad at Princeton (had to write a
thesis and everything).

My focus with Ludwig Wittgenstein's later philosophy especially,
though I was also taking advantage of having Walter Kaufmann as a
teacher, reading my Nietzsche 'n stuff.  Richard Rorty was my thesis
adviser.  I also studied Marx-Freud in conjunction (Adorno etc.), took
a History of Mentalities class that was pretty wild 'n crazy (autobio
of Malcolm X was assigned reading).

Kaufmann had just discovered Erhard's punchy philosophy lectures that
previous summer and gets credit for nudging me into a kind of
philosophical activism which eventually had me hooking up with the
Bucky Fuller group, meeting that network.  I was Buckminster Fuller
Institutes first web wrangler after he died in 1983, working with
Kiyoshi Kuromiya.

http://mybizmo.blogspot.com/2008/02/philosophy-101.html
http://www.grunch.net/synergetics/kiyoshi.html

Bill Thurston, the famous topologist, was my honors calculus teacher
(you have to teach undergrads at Princeton, no matter how famous and
valuable your time).

http://www.youtube.com/watch?v=R_w4HYXuo9M
http://www.youtube.com/watch?v=x7d13SgqUXg

This is where I discovered APL and started haunting the engineering
quadrangle (E-quad), sneaking in at night to play with the APL
graphics terminals by Tektronix, or sneaking time on a Unix-based PDP
with a guest account.  But mostly I just had to use punch cards and
job control language in those early days of time sharing mainframes,
pre-PC.

FORTRAN, PL/1... a little this, a little that.  Later I became an
xBase coder as a day job, mostly working for non-profits and local
government agences (that'd be dBase II, III, IV, Foxpro 2, Microsoft
Visual Foxpro 3-9).

However, growing up I was more thinking I'd be a psychoanalyst
someday, maybe a Jungian or something.  I was getting into Ernest
Becker's 'The Denial of Death' and then Normon O. Brown's 'Love's
Body' 'n stuff, a literature I've continued to follow right up to the
present, taking 'Walking with Nobby' to the Chicago Pycon as airplane
reading.

http://controlroom.blogspot.com/2009/03/airplane-reading.html

> On Wed, Oct 28, 2009 at 11:25, kirby urner <[hidden email]> wrote:
>> 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.[0]  Of course
>> this is music to my ears.
>
> The Two Cultures prejudice is one of the worst ever.
>

Yeah, C.P. Snow's chasm.  When Dr. Wulf, head of National Academy of
Engineering came to Portland, that's what he wanted to talk about:

http://mybizmo.blogspot.com/2005/04/last-isepp-lecture-2005.html

>> 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.[1]
>
> We're doing quite well at Artificial Stupidity, I hear. ;->
>

AS -- I like it.  AI by another name.  Or maybe AI = RS (Artificial
Intelligence = Real Stupidity).

http://mybizmo.blogspot.com/2008/04/philosophy-posting.html

>> 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.
>
> Reification is also a problem. Most people imagine a world made of
> things. Wittgenstein tried to imagine a world made of facts. Some
> scientists have noticed that this is a world of a) we don't know what
> and b) we don't know how to think about it. Mathematically, the world
> could just as well (or as poorly) be composed of relations or
> processes.

So pick a paradigm and go with it.  In a math, we like internal
consistency, elegance, a game with clear enough rules that at least
it's playable.

In OO, we distill everything to objects, which you could describe as
giving into a prejudice, going for reification all the way (in for a
penny, in for a pound), but hey, it's one way to think.  We have
others.

It's "maths" in the plural in the UK, not a monolithic one size fits
all problem domains.

>
>> 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).[2]
>>
>> Wev'e got James Bennett in the Django tribe, yakking about the
>> relevance of a philosophy background to his work with Python.[3]
>>
>> Imagine a four-year philosophy program that actually featured some
>> programming.
>
> As I said, I did that--Turing machines and several of the
> Church-equivalent systems, modal and combinatorial logic, recursive
> function theory, non-standard arithmetic and analysis...
>

In Wittgenstein's later philo, ala Remarks on the Foundations of
Mathematics, you have a kind of break from the Anglo-analytic views of
the day, in which something called Logic underpins everything
"higher".  He said logic underpins mathematics much as a painted
foundation supports a painted castle (paraphrase).

In any case, I'm seeing a lot of good reasons to link his notion of
"language games" to our more modern idea of "namespaces".

My live-and-let-live philosophy is all about a "no global variables"
way of thinking i.e. let's not pretend we're all trying to get into
the same namespace once and for all (an imperialist agenda).

There are only so many cool words that we'd all like to use, and that
old philosophical maneuver "If you don't mean what I mean by 'gravity'
then you should say 'shmavity'" is just so *not* what we do in
computer programming anymore.

We both use 'gravity' but disambiguate by being explicit about
namespaces.  Undergrads learning philosophy today need to learn about
namespaces I'm thinking, why not?

Kirby

> --
> Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
> Silent Thunder is my name, and Children are my nation.
> The Cosmos is my dwelling place, the Truth my destination.
> http://www.earthtreasury.org/
>
_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig
Reply | Threaded
Open this post in threaded view
|

Re: Python for Philosophers

kirby urner-4
I was thinking more about this Python for Philosophers thread and
decided to write some "pathological Python" to help make a point,
thought readers here might be interested...

Note in the short class definition below, that not only do I not use
the name 'self' (which is not a keyword) but I use alternative names
in each of the two special name methods, 'cogito' and 'me'
respectively.

Whereas this isn't great style (and I emphasize this in my "Short
Talk") it does drive home the point that this first argument is
*positional* and has meaning only within that method's scope, so yeah,
fine to use any legal name and even to change what that name is from
one method to the next ("fine" in the sense of not upsetting the
interpreter -- other readers of your code may not appreciate your
quirkiness).

For more context:  http://controlroom.blogspot.com/2009/10/short-talk.html


class Animal:
    """
    A template for any Animal.  What's somewhat
    pathological is the handle to the self object
    is not consistently named between methods,
    only within methods -- more traditionally, we
    would use the word 'self' in place of both
    'cogito' and 'me'.
    """
    species = 'unspecified' # set below

    def __init__(cogito):  # my birth event
        """aquires the species from the template itself
        Make it be special to me (one self per instance)
        """
        cogito.species = Animal.species

    def __repr__(me):  # my representation
        return me.color + ' ' + \
               me.species + ' ( sex: ' + me.sex + ')'

Kirby
_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig