tough-to-explain Python

Hendrik van Rooyen mail at microcorp.co.za
Fri Jul 10 06:54:21 EDT 2009


"Steven D'Aprano" <steve at REMOVE-THIS-cy....e.com.au> wrote:

>On Wed, 08 Jul 2009 22:05:57 -0700, Simon Forman wrote:
>
>>> persistent idea "out there" that programming is a very accessible
>>> skill, like cooking or gardening, anyone can do it, and even profit
>>> from it, monetarily or otherwise, etc., and to some extent I am
>> 
>> Programming is not like any other human activity.
>
>In practice? In principle? Programming in principle is not the same as it 
>is performed in practice.
>
>But in either case, programming requires both the logical reasoning of 
>mathematics and the creativity of the arts. Funnily enough, 

I do not buy this arty creativity stuff. - or are you talking about
making a website look pretty?

>mathematicians will tell you that mathematics requires the same, and so 
>will the best artists. I think mathematicians, engineers, artists, even 
>great chefs, will pour scorn on your claim that programming is not like 
>any other human activity.

So a chef is now an authority on programming?

Programming is actually kind of different - almost everything else is 
just done, at the time that you do it.

Programming is creating stuff that is completely useless until it is
fed into something that uses it, to do something else, in conjuction
with the thing it is fed into, at a later time.

This is a highly significant difference, IMHO.


>
>
>[...]
>> He talks about how "when all is said and done, the only thing computers
>> can do for us is to manipulate symbols and produce results of such
>> manipulations" and he emphasises the "uninterpreted" nature of
>> mechanical symbol manipulation, i.e. that the machine is doing it
>> mindlessly.
>
>"Manipulate symbols" is so abstract as to be pointless. By that 
>reasoning, I can build a "computer" consisting of a box open at the top. 
>I represent a symbol by an object (say, a helium-filled balloon, or a 
>stone), instead of a pattern of bits. I manipulate the symbol by holding 
>the object over the box and letting go. If it flies up into the sky, that 
>represents the symbol "Love is War", if it falls into the box, it 
>represents the symbol "Strength is Blue", and if it just floats there, it 
>represents "Cheddar Cheese". This is a deterministic, analog computer 
>which manipulates symbols. Great.
>
>And utterly, utterly useless. So what is my computer lacking that real 
>computers have? When you have answered that question, you'll see why 
>Dijkstra's claim is under-specified.
>

So if computers do not manipulate symbols, what is it that they do?
They sure cannot think,
or drink,
or reason,
or almost any verb you can think of.

"Manipulating symbols" is actually an elegant definition.
Try coming up with a better one and you will see.

And calling an abstraction pointless kind of contradicts
what you say later...

8<------- camel humps and other stuff -------------------

- Hendrik






More information about the Python-list mailing list