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: 2) by FatPhil on Tuesday September 10 2019, @11:20PM (1 child)

    by FatPhil (863) <{pc-soylent} {at} {asdf.fi}> on Tuesday September 10 2019, @11:20PM (#892446) Homepage
    > A language is too low level when it forces you to think about things that are irrelevant to your problem.

    So one that makes you wonder whether the answer you want is 42 or Integer.valueOf(42) would be too low level.

    Which reminds me of the "fix" that was the cache of Integers, that's just freaking hilarious; more language decisions like that please, they're laughs for the ages!
    --
    Great minds discuss ideas; average minds discuss events; small minds discuss people; the smallest discuss themselves
    Starting Score:    1  point
    Karma-Bonus Modifier   +1  

    Total Score:   2  
  • (Score: 2) by DannyB on Wednesday September 11 2019, @03:59PM

    by DannyB (5839) Subscriber Badge on Wednesday September 11 2019, @03:59PM (#892757) Journal

    I never seem to have problems with boxed vs unboxed integers or other primitive types. I suppose back in the 90's the decision could have been made that all primitive types must always be an object in the heap. Every boolean, byte, characters, integer, etc. But I suppose nobody would have liked that.

    Many languages make practical design decisions for efficiency.

    The cache of integers is something that happens, again for efficiency, in the runtime engine, invisible to the programmer. That's a runtime efficiency implementation decision, not a language decision.

    That would be like blaming C language for some highly optimized malloc library implementation that someone might find amusing for some reason -- despite its efficiency gains.

    --
    To transfer files: right-click on file, pick Copy. Unplug mouse, plug mouse into other computer. Right-click, paste.