Stories
Slash Boxes
Comments

SoylentNews is people

posted by janrinok on Tuesday September 10 2019, @04:26AM   Printer-friendly

Arthur T Knackerbracket has found the following story:

We are volunteers who make and take care of the Python programming language. We have decided that January 1, 2020, will be the day that we sunset Python 2. That means that we will not improve it anymore after that day, even if someone finds a security problem in it. You should upgrade to Python 3 as soon as you can.

We need to sunset Python 2 so we can help Python users.

We released Python 2.0 in 2000. We realized a few years later that we needed to make big changes to improve Python. So in 2006, we started Python 3.0. Many people did not upgrade, and we did not want to hurt them. So, for many years, we have kept improving and publishing both Python 2 and Python 3.

But this makes it hard to improve Python. There are improvements Python 2 can't handle. And we have less time to work on making Python 3 better and faster.

And if many people keep using Python 2, then that makes it hard for the volunteers who use Python to make software. They can't use the good new things in Python 3 to improve the tools they make.

We did not want to hurt the people using Python 2. So, in 2008, we announced that we would sunset Python 2 in 2015, and asked people to upgrade before then. Some did, but many did not. So, in 2014, we extended that sunset till 2020.

If people find catastrophic security problems in Python 2, or in software written in Python 2, then volunteers will not help you. If you need help with Python 2 software, then volunteers will not help you. You will lose chances to use good tools because they will only run on Python 3, and you will slow down people who depend on you and work with you.


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 5, Interesting) by lentilla on Tuesday September 10 2019, @06:38AM (1 child)

    by lentilla (1770) on Tuesday September 10 2019, @06:38AM (#892104)

    since they planned decades ahead

    No, they did not plan decades ahead - they simply refused to make changes to the language.

    Python; et al; could have all stayed immutable. The downside being that the advantages stemming from experience and advances in the state-of-the-art would be unavailable to users of that language.

    From a user's perspective I like the way LilyPond [lilypond.org] handles the language versioning: you put a directive like \version "2.18.2" at the top of your source (matching the version you are currently using), and it is expected that future versions will compile to identical output. (This is accomplished by using a conversion program to upgrade the source to each new version.)

    Unfortunately in Python's case, upgrading from version two to three is not able to be automated.

    The nastiest gotcha with Python versioning is that if your software depends on that one critical library written in Python2 your entire project is stuck on that version (without messy work-arounds). That's why they say sticking with Python2 is hurting the community. Python3 is what Python2 should have been - it is a better language - although to a neophyte the only obvious difference is that print "hello world" needs to be print("hello world"). It is just a pity the community has to go through the adjustment phase.

    Starting Score:    1  point
    Moderation   +3  
       Interesting=3, Total=3
    Extra 'Interesting' Modifier   0  
    Karma-Bonus Modifier   +1  

    Total Score:   5  
  • (Score: 2) by Freeman on Tuesday September 10 2019, @03:20PM

    by Freeman (732) on Tuesday September 10 2019, @03:20PM (#892235) Journal

    When, I got into tinkering with Python a year or two ago, now. I read up on what version of Python, I should be using. I went with Python3, as everyone was saying, use Python3, unless you're stuck on Python2 for some big project.

    --
    Joshua 1:9 "Be strong and of a good courage; be not afraid, neither be thou dismayed: for the Lord thy God is with thee"