[Python-Dev] RELEASED Python 3.0 final

Guido van Rossum guido at python.org
Sat Dec 6 19:09:28 CET 2008


On Sat, Dec 6, 2008 at 2:12 AM, Thomas Wouters <thomas at python.org> wrote:

> On Sat, Dec 6, 2008 at 02:47, Guido van Rossum <guido at python.org> wrote:
>> In the mean time, I don't mind if people learn 3.0 first and 2.6
>> second. It's probably easier that way than the other way around. :-)
>
> It may be easier in a vacuum -- although I don't think it is. 3.0 is more
> logical than 2.x, and I don't think it's easier to learn about the better
> way first, and then realize that you have to use some archaic form later.

True, though (at least when writing new 2.x code) it's often not
needed to use the archaic forms. E.g. you don't have to use backticks
or __cmp__ or string exceptions. And if you can live with 2.6 it gets
even better (e.g. relative import, "except ... as ...").

> In
> fact, we had someone on #python just last week who had learned Python from a
> 2.6 tutorial, then found out he had to use 2.5, and he was actually tripping
> over some 2.6-only features he'd been taught. When he learned he had to go
> back and relearn and fix them by hand, his actual words were "if thats the
> case, I'm gonna be forced to use another language". I hope that isn't a
> typical example of such a case, but I can partly understand the sentiment.

You can't prevent this kind of thing happening occasionally. I don't
generally lie awake over it -- I don't expect a massive exodus. I
think some people like to say this kind of thing (especially publicly)
because they expect us to be insecure about Python adoption and
worried about the competition. Don't fall for the troll bait! When
they go home they'll realize that learning Ruby or Java is a lot more
work than learning the differences between Python 2.5 and 2.6. Or
they'll learn one of those and find that it's not all roses their
either. (Ruby is also going through a language transition, and the
choice of which version of Java to learn isn't that easy either,
despite the strict backwards compatibility -- you can choose to use a
somewhat awkward older version, or use the latest and find it's not
supported on the next platform you're porting to.)

> But even if it's true, people don't learn in a vacuum. Almost everybody else
> will be thinking of 3.0 in terms of 'changes since 2.x', tools such as 2to3
> are oriented that way, and explanations on bits and pieces of Python
> available to be googled are by and large about 2.x, not 3.0. Right now, it's
> just much easier to go from 2.x to 3.0 than the other way 'round.

True, but we should work on fixing this rather than giving up. What
happened to the 3to2 project? Wasn't someone planning to write a 3.0
to 2.6 (or 2.5?) converter using the same technology in 2to3?

We probably need two different marketing/PR streams: one aimed at
*existing* Python users (reaffirming we will be supporting 2.x fully
for many years to come), another at *new* users (suggesting that now
is a better time than ever to learn Python, with 3.0 available and new
packages being ported to it all the time).

-- 
--Guido van Rossum (home page: http://www.python.org/~guido/)


More information about the Python-Dev mailing list