Popular conceit about learning programming languages

Bengt Richter bokr at oz.net
Thu Nov 21 17:48:35 EST 2002


On Thu, 21 Nov 2002 18:03:48 +0100, Pascal Costanza <costanza at web.de> wrote:

>Michele Simionato wrote:
>
>> It is true that you can read the Python tutorial in couple of hours,
>> "understand" most of it and start immediately programming in Python.
>[...]
>> It takes a much longer time to become to *think* in Python. I started 
>> six months ago and I am still in the process of adapting my way of 
>> thinking to the language. This is much harder than adapting the language 
>> to your way of thinking. But eventually you must do it if you really 
>> want to understand the language.
I think that is an insightful observation.

>
>Could you try to describe what it means to you to think in Python? What 
>makes it different from thinking in other languages? (This is not a 
>rhetorical question!)
>
(Please pardon my jumping in with my view. I realize you didn't ask me ;-)

To me, it's similar to the kind of shift in mental gears that you do
with natural languages. E.g., if you lived in one country for long
enough to become fairly fluent, and then went to another for a decade
or two and became fluent there. Then going back for a visit, you will
at first be thinking in your most recent language, but with a little time
"nicht hinauslehnen" will lead the imagination to the image without detour via
"ne pas se pencher au dehors" or whatever (I may have misremembered ;-).

Thus ISTM the key is in the imagination, and what images and abstractions live
there. The tokens and token arrangements of a particular language are not
the essence. Thinking in a language is imagining with the imaginary entities
associated with the language, not talking to yourself with the audible or
visible tokens of non-imagined representation. After the imagination follows
the expression, when you are thinking. When learning, imagination is
led to new experience by expressions.

Since entities and patterns of common usage are not identical between
languages, ISTM thinking is not identical either, though one assumes that
the process is played out with similar props and stage machinery.

Regards,
Bengt Richter



More information about the Python-list mailing list