[Tutor] changes in Python 2.2

Alexandre Ratti alex@gabuzomeu.net
Wed, 26 Jun 2002 12:40:38 +0200


At 04:26 26/06/2002 -0400, tutor-request@python.org wrote:
>From: "Scot W. Stevenson" <scot@possum.in-berlin.de>
>Subject: Re: [Tutor] changes in Python 2.2
>Date: Wed, 26 Jun 2002 10:22:30 +0200

[rate of changes in Python]
>I remember complaining a few months ago about Python's rate of
>change, and tho I have made lots of progress with the language since then
>(with a lot of help from this list), switching to 2.2 does make me feel
>like the road I was following has dwindled from a four-lane highway (or
>rather /Autobahn/ in my case) to a packed-earth path thru the forest. I am
>not sure if the real computer people here realize how disorientating these
>changes are for people who are struggling with the basic concepts.

Well, obviously in Python we have a tension between being a learner's 
language and an "advanced" language for experienced programmers. So far, I 
believe the designers have found an acceptable balance, though I admit 
there were a lot of changes in the last months.

>List comprehensions are, as we have discussed here before, very intuitive 
>if you have a background in set theory (so I'm told),  but for the rest of 
>us, they are not exactly easy on the eyes, and I still think the syntax 
>looks very un-Pythonic. They are not exactly the simplicity that Python 
>has been famous for, and certainly not "executable pseudocode".

Frankly, there are all kind of people here. I don't have any formal 
background in computer science, let alone set theory (the first language I 
messed with was called WordBasic - believe me, you don't want to use it). 
However, list comprehensions somehow fit my brain. I use them all the time; 
they feel natural, whereas I have a hard time with lambda, reduce, 
recursive stuff, etc.

>division is about as basic as you can get, and at this rate of change, 
>we're going to hit Python 3.0 before anybody gets around to writing those 
>new books. Take a look at how many division examples that is going to 
>break - starting on page 33 of "Learning Python", which is about as close 
>to the start of learning the language as you can get. This is doing to 
>really get the next generation of newbies.

>Again, I am not opposed to the changes as such. Having "real" division
>instead of C-like computer science division is a great idea and in my mind
>will be a great plus for Python.

Yes, a lot of people were worried about this change.  I also believe it is 
a improvement, because integer division is not very intuitive for new 
learners.

>The problem is that the rate of change has far outstripped the ability (or
>interest) of the people writing documentation to keep up, especially
>documentation in book form.

However, I think many news Python books were published in the last months. 
This is a positive trend for Python. I feel there is a growing interest in 
the language.

>For the rest of us, learning Python 2.2 means piecing together bits from 
>outdated books (like "Programming Python"), short online texts (like 
>"What's new in Python 2.2.?", which, as Thomas pointed out, is not aimed 
>at newbies), and comments from more advanced users (like the Python Tutor 
>list here).

You may have a point here. Maybe we need a tutorial for new features, eg. a 
new leaners' guide to new features. Anyone?

>As much as I have gotten to love Python, I am beginning to ask myself why
>I don't just quit the language for a while until the mutation rate has 
>dropped to an acceptable level.

I'm not sure how you use Python (eg. do you use it in your job, etc.) I use 
it both for fun and to automate tasks in my work (but I'm not a 
programmer). The new Python features do not prevent me from using Python 
(actually, I'm still using 2.1 a lot).

Also, I don't feel I have to learn new features immediately. Usually, I can 
wait until they are better understood and better documented (or until I 
really need them and I have an incentive for learning them).

 > Y, Scot
>Who does feel a lot better now, thank you...

:-)


Cheers.

Alexandre