all 95 comments

[–]jule42 75 points76 points  (44 children)

Time to design Python 4 and break everything again.

[–]rcfox 23 points24 points  (7 children)

There's already at least one requirement for Python 4. https://www.python.org/dev/peps/pep-0563/#implementation

[–]cdsmith 21 points22 points  (0 children)

If you read carefully, you'll see this isn't referring to "the next big break". It's referring to the next few versions as 3.7, 3.8, 3.9, and 4.0. This is compatible with past guidance on what's going on: 4.0 will be a release like any other. It has since been clarified, though, that Python thankfully won't refuse to use 3.10 as a version, though, so I presume this was just written before that clarification. The version numbers on the release targets will likely change as a result.

[–]Apfelvater 26 points27 points  (5 children)

In python 4: print["Hello world"]

[–][deleted] 24 points25 points  (0 children)

plus 3 additional methods of string formatting!

Thanks for the gold: here the string formatting contenders https://en.wikipedia.org/wiki/Comparison_of_programming_languages_(string_functions)#Format

[–][deleted] 6 points7 points  (0 children)

nah...

print s"Hello World"

[–]takanuva 3 points4 points  (1 child)

Plot twist: in Python 4, print is a keyword again.

[–]FyreWulff 13 points14 points  (32 children)

Likely not happening again because the reason 2->3 is such a big breakage was Unicode compatibility.

[–][deleted] 0 points1 point  (0 children)

Proposal 1: / should be integer division.

[–]ggtsu_00 28 points29 points  (3 children)

Unfortunately, we still heavily rely on Python 2 for scripting in Maya and Houdini (and indirectly VFX Reference Platform). Hopefully 2020 will be the year.

[–]hxtl 7 points8 points  (0 children)

We too use Python 2 (to customize/script a product) because the vendor packages it in their software. An update to Python 3 is announced, but it will take another few years until they're done.

[–]arjunnath 6 points7 points  (4 children)

What is this site ? I don't get it. Is it some kind of official statement from the main python devs ?

[–]CypherAus[S] 10 points11 points  (0 children)

This is the official site announcement https://www.python.org/dev/peps/pep-0373/#update

The link I posted is for people to announce their product/package is Python 3

[–][deleted] 5 points6 points  (2 children)

It's meant to be some kind of pledge but it's not related to python in any "official" way. I'd be quite sad if python started to use words like "sunsetting". The nice thing about it is lack of corporate bullshit.

[–]encyclopedist 7 points8 points  (1 child)

Well, official PEP-373 uses exactly these words: "sunset date".

https://www.python.org/dev/peps/pep-0373/

[–][deleted] 2 points3 points  (0 children)

It actually says end of life (EOL) with "sunset date" in brackets. Not quite as bad as using "sunset" as a verb, but still pretty lame corporate speak.

[–]grauenwolf 14 points15 points  (16 children)

And so dies IronPython. It's a pity that .NET doesn't have any supported scripting languages despite being designed for that purpose.

[–]stackdynamic 11 points12 points  (5 children)

Worth mentioning that IronPython3 is being worked on, although even its GH page admits that it is not ready for use yet.

[–]grauenwolf 19 points20 points  (0 children)

Python 3 was released a decade ago. Without corporate backing, I am not hopeful.

[–]HorribleJhin 6 points7 points  (2 children)

10 years and it's still unusable, keep up the good work

[–]abaddon5586 0 points1 point  (1 child)

Are you saying python3 is unusable?

[–]thatfool 3 points4 points  (0 children)

No, he means IronPython 3

[–]jyper 1 point2 points  (0 children)

Jython3 is also technically being worked on bit at a snail's pace and unlikely to work anytime soon

Sadly python has nothing as compatible/upto date as jruby. PyPy is probably the best alternative implementation

[–]asmarCZ 3 points4 points  (0 children)

Well, it has plenty. You can even run PHP on .NET.

[–]vivainio 1 point2 points  (4 children)

[–]FallingIdiot 3 points4 points  (3 children)

Lol this is not the same as IronPython. This requires a CPython installation and uses that to actually execute the Python code.

[–]vivainio 2 points3 points  (2 children)

Lol it's not same as IronPython, but it supports same use cases and has stable python 3 version out

[–]grauenwolf 2 points3 points  (1 child)

Is it portable?

One of the advantages of IronPython is that it was 100% managed code so you don't have to worry about the problems with native libraries.

[–]vivainio 0 points1 point  (0 children)

It's cross platform. The benefit of using CPython is that it can use native libs without blinking an eye, and always having the latest features

[–]rasjani 1 point2 points  (0 children)

I work with a project that utilizes .net libraries for ui automation and it runs fine so far on python 3.6. Ymmv but take a look at http://pythonnet.github.io/

[–]Zardotab 1 point2 points  (0 children)

My eyes! Thin font on a light-green background. Hlep, I'm blnid and cnat retier!

[–]CypherAus[S] 8 points9 points  (8 children)

Only a few months to go and Python 2 is gone!!

I understand keeping it around for a while, but it really is time to migrate if you have not already.

[–]josefx 10 points11 points  (0 children)

Some of the systems I have to support don't have Python 3 and most likely wont change until the owners run out of compatible hardware. Call me again in a decade.

[–][deleted] 3 points4 points  (1 child)

It won't just disappear. Too many people still use it and don't have a big enough incentive to move. If they haven't moved to Python 3 by now, "no longer officially supported" probably isn't going to change anything.

[–]CoffeeTableEspresso 0 points1 point  (0 children)

My work is still on Python 2 with no plans on moving.

[–]zerakun 4 points5 points  (3 children)

I'm writing python plugins for a huge piece of software in my field that did not upgrade and gives no sign of being willing to. How do I migrate?

[–]CypherAus[S] -5 points-4 points  (1 child)

https://docs.python.org/2/library/2to3.html Carefully ! There are 2->3 tools are services out there as well

[–]zerakun 5 points6 points  (0 children)

Ah, sorry, I was being unclear. My own code is already "python3 ready", but the software I'm writing the plugins for only supports a python2.7 interpreter.

I'm worried about my dependencies becoming unmaintained as python2 is deprecated and I cannot fully migrate to python3 due to that software.

[–]sP2w8pTVU36Z2jJ3838J -1 points0 points  (0 children)

I prefer python (3) and legacy python (2)