[Edu-sig] Microsoft's KPL

Arthur ajsiegel at optonline.net
Tue Oct 11 16:51:37 CEST 2005


I had written re: Galison's book

>Turns out that the fact that Einstein happened to get a day job in a patent
>office in Switzerland - where the timekeeping action has always been  -
>seems to have been the kind of serendipity that contributes to a Leap
>Forward.  That day job got him to where he got much more directly than it
>is generally understood.

I would like to complete a circle here.

And relate it back to the learning and teaching of programming (and
mathematics).

The most general point of the Galison book is that the general meme about
how science progresses needs some adjusting.

One way to state the prevailing meme - is that, say, abstract mathematicians
work in an atmosphere of pure inquiry playing with ideas, and then at some
point those ideas, thought to be purely abstract, are found to have some
application to some real problem in, say,  physics.

The meme - according to the history lessons discussed in this book -
underplays the extent to which the abstract ideas are informed in the first
case by the efforts of the practical scientists and engineers (and
politicians and businessmen) to solve very worldly problems. Like how do we
sync our clocks in remote locations so that train schedules make sense. 

Programming.

Personal frame of reference:

My interest in mathematics is purely in the abstract - my goal is to gain
mindfulness. But I find that goal is only achievable by working in the
concrete, and I have found that the best concrete approach - for myself -
has been in the practical practice of solving problems in the context of
programming. Setting out to make concrete things occur, and struggling
toward the solution that will induce them to incur.

My interest in programming in purely practical. As above - making concrete
things occur.  And I find that my efforts to do so inform a whole level of
unanticipated appreciation of a different kind of abstract thinking -
connected to the abstractions that computer scientists and programming
language designers live within and develop.

When I say that I want to learn to *program*, not "learn to program", I
think I am meaning that I want my struggles to induce the practical to allow
me to discover on my own the abstract issues.  Which is another way of
insisting on being allowed to make my own mistakes.

Guido is quoted somewhere recently (I did not see the quote first hand and
cannot vouch for its authenticity) that Python is an experiment in how much
freedom to give programmers. Many people seem to object to Python in the
real world, "business critical" environment, because by some standards it
allows programmers too much freedom to make mistakes. I don't need to join
that debate, nor am I qualified to participate in it.

But I am certainly convinced that the freedom to make mistakes is
unassailable as part of a learning process. And therefore conclude that
programming in the style that Python allows is an unassailable and
under-utilized educational resource.

The end.

Art










More information about the Edu-sig mailing list