[Tutor] Time frame for Py 3 Maturity

Steven D'Aprano steve at pearwood.info
Sun Apr 21 06:02:36 CEST 2013


On 21/04/13 12:10, Jim Mooney wrote:
>> This is why we tend to recommend 2.7 for anyone doing serious work in
>> Python.
>>
>
> Understood. I am in no rush, but what do you think it the time frame when
> Py 3 will be mature? A year from now? Two years? At some point I might want
> to use it more practically. Or maybe there will be huge inflation, I'll go
> broke, and have to use it more practically ;')

Define "mature".

As a language, Python 3 was fully mature by the time Python 3.1 came out.
(Python 3.0 was, alas, seriously broken, and slow, and is no longer supported.)
Since 3.1, Python has simply become *better*, with more features, better
text handling, the decimal module is now nearly as fast as built-in floats,
a few rough edges have been cleaned up. I expect 3.4 will be better still.

Likewise for the standard library. All of the standard library is fully
compliant with Python 3. Naturally.

As for the external ecosystem of Python libraries and applications, I think
the answer is, "it depends".

There are still people relying on Python 1.5 (!), so from the perspective of
"when will everyone migrate to the latest version?", the answer is "Never",
and even Python 2 is not fully mature.

On the other hand, from the perspective of "When will the *majority* of
publicly-available libraries and packages support Python 3, then the answer
is "Right now". The Python 3 Wall of Shame turned mostly green some time ago,
and is now known as the Python 3 Wall of Superpowers:

https://python3wos.appspot.com/

Based on the number of downloads, almost three quarters of the Top 50 Python
packages support Python 3:

http://py3ksupport.appspot.com/

On the third hand, if *you personally* require one of the packages which has
not been updated, then the answer for you will depend on the specific package
you care about.

When Python 3 was first floated as a backwards-incompatible version, it was
expected that the overall migration would take about ten years. We're now
half-way through that decade, and uptake is going according to plan, possibly
even a little faster than expected. The early adopters have been using 3 for
many years now, the majority of libraries and packages have been updated,
the Linux distros are starting to plan for the day when Python 3 is the default,
and the majority of trolls have given up complaining about Python 3.


> Also, is there a good syllabus for the best way to progress in this
> language? One can certainly get sidetracked.

I don't quite understand that question. Syllabus? As in a list of topics like
this?

"You must learn A, then B, then C, then D, ... and now you are an expert!"


No.




-- 
Steven


More information about the Tutor mailing list