Live data from Hacker News

Guido blames social media for his decision to abandon the supervision of Python

revyuh.com

71–80 of 91 posts

Re: Guido blames social media for his decision to abandon the supervision of Python

#71

Believe the Python3 change is a bit of a red-herring, everyone learned from that. The breaking point was PEP 572 (ie :=) which was quite controversial. The lesson here: One shouldn't attempt to reverse 25-year old design decisions, not even GvR. Python is too big now. There was a compromise (and more congruent) alternative, reuse of the "as" keyword, that was thrown out immediately, and proponents rammed 572 thru des…

I think you're right about 572, although even that wouldn't have been enough without all the other stuff from the past, such as the unicode strings.

I often have to write things like this:

  m = re.match()
  if m:
    do something
So I'm looking forward to the feature. I'm not sure you were fair to the process about the alternative syntax, though. They did give a well-reasoned explanation for discounting it.

Re: Guido blames social media for his decision to abandon the supervision of Python

#72
post #50
post #18

Serious question: did anything good come out of paying attention to Twitter? Like, ever? I'm sure it has its bubble-living adherents here. Then again, so did Quora. As for the claim of "questioning [his] authority", isn't that a given? With or without social media. That's pretty much human nature. It's up to you to establish the tone and medium of how people interact with you. Linus, for example, is pretty much stric…

I disagree, the python 2-3 change goes down as one of the best breaking changes I've ever seen. A long documented timeline. The u thing is a perfect example of learning from your mistakes and fixing them. Of course not having a breaking change is preferable, but that isn't always realistic.

The thing is they could have done so much more with breaking changes. They could have fixed the broken module system, removed the GIL or improved performance by an order of magnitude by removing language features that almost nobody uses but prevent important optimizations.

Instead they caused a huge rift in the Python community and 10+ years of continued pain for what? Improved unicode support and removing the ability to type "print x"?

Re: Guido blames social media for his decision to abandon the supervision of Python

#73
post #50

Earlier quoted context omitted.

I disagree, the python 2-3 change goes down as one of the best breaking changes I've ever seen. A long documented timeline. The u thing is a perfect example of learning from your mistakes and fixing them. Of course not having a breaking change is preferable, but that isn't always realistic.

The thing is they could have done so much more with breaking changes. They could have fixed the broken module system, removed the GIL or improved performance by an order of magnitude by removing language features that almost nobody uses but prevent important optimizations. Instead they caused a huge rift in the Python community and 10+ years of continued pain for what? Improved unicode support and removing the abilit…

What of those things are implementation details that don't need a new language to fix though? Jpython has never had the GIL, there is no reason you can't remove it from python without doing a breaking change as well. (it might break buggy programs by python can carefully never promised you can rely on the GIL)

You claim there are language features to remove, if true you are correct they should have done that. That said in my experience most outsiders claiming some "rarely used" feature is the cause of some slowness don't have data to back their claims up. Often the feature is in fact used by some important subset. Often the feature isn't the cause of any slowdown.

Improved unicode support is a very good thing to have. Maybe you don't have to support users outside of Western Europe and the Americas where ascii works well enough. (this also excludes various native languages in the Americas and assumes the non-English marks on various letters can be ignored) Anyone who can't do that is glad to not have to fight Unicode in python.

"print x" is a minor thing, but it makes the language better for the stated goals.

Re: Guido blames social media for his decision to abandon the supervision of Python

#74

Earlier quoted context omitted.

> Here we are in 2019 with no end in sight for Python 2.7 An end is in sight, is coming soon, and it’s sort of concerning that more folks haven’t realized it yet - https://pythonclock.org/

Lots of Google stuff runs on 2.7 (eg. even recently published build scripts) and it looks like Google is going to maintain 2.7 for themselves if necessary rather than porting tons of scripts over to 3. I can't help but agree with their utilitarian approach here.

Honestly, I view Google as a large impediment to python3. If they'd bit the bullet and spent 10MM on transitioning over back in 2012 or so, the perception that 2.7 was still 'the real python' wouldn't have persisted nearly as long.

When tensorflow was released (november 2015), it was python2 only!

Re: Guido blames social media for his decision to abandon the supervision of Python

#75

Earlier quoted context omitted.

Writing code compatible with Python 2 and 3 has been possible for over 5 years. Dropbox migrated to Python 3.[1] So did Instagram. [1] https://blogs.dropbox.com/tech/2019/02/incrementally-migrati...

Dropbox migrated their desktop client code to Python 3.

They just spoke at pycon of having 3? Million LoC using mypy. While some of that is probably using the backports (comment syntax), I'd expect that much of it uses the newer syntax and therefore python3.

Re: Guido blames social media for his decision to abandon the supervision of Python

#76
post #38
post #18

Serious question: did anything good come out of paying attention to Twitter? Like, ever? I'm sure it has its bubble-living adherents here. Then again, so did Quora. As for the claim of "questioning [his] authority", isn't that a given? With or without social media. That's pretty much human nature. It's up to you to establish the tone and medium of how people interact with you. Linus, for example, is pretty much stric…

> Serious question: did anything good come out of paying attention to Twitter? Like, ever? I'm sure it has its bubble-living adherents here. Then again, so did Quora. You could've said much the same thing of Usenet too. GvR didn't seem to have any trouble with Usenet back then, but 30 years later, at age 63, apparently now Twitter is the ne plus ultra of toxicity (which will amuse everyone who remembers Usenet). Mayb…

When did van Rossum stop participating in Usenet?

Usenet 30 years ago was a lot easier to deal with than Usenet 20 years ago. In 1996 I savored the handful of c.l.py posts per day. By 2002 I was overwhelmed, and that was after most development messages switched over to python-dev.

Re: Guido blames social media for his decision to abandon the supervision of Python

#77
post #61

Earlier quoted context omitted.

For those of us in the GIS space, 2.7 will be with us for a long time, as it's the only version that is supported by ArcGIS 10.x series. To say that people aren't rushing to ArcGIS Pro (which support 3.x) is quite an understatement, I expect to be writing Python 2.7 code for 5 years at the very least.

Wait, a company is selling a library and only supporting Python 2? And 3 support is a paid tier? Wow.

No, the previous version is called ArcGIS 10, current version is called Arc Pro.

Re: Guido blames social media for his decision to abandon the supervision of Python

#78
post #77

Earlier quoted context omitted.

Wait, a company is selling a library and only supporting Python 2? And 3 support is a paid tier? Wow.

No, the previous version is called ArcGIS 10, current version is called Arc Pro.

Oh, I see. That's too bad :/

Re: Guido blames social media for his decision to abandon the supervision of Python

#79
post #31
post #16

Earlier quoted context omitted.

What would you have done differently? Frankly, it seemed pretty principled to me -- enough to where I wouldn't be comfortable Monday quarterbacking.

Make the 2 vs 3 language decision be module-specific with a single Python executable supporting both languages, allowing you to freely mix Python 2 and 3 files and libraries and thus not splitting the ecosystem.

They did that where possible (from __future__ imports, forwards compatibility changes to a bunch of internal apis (the C extension api, as well as stuff like the code object)), but there's not a cross-compatible way to handle the unicode/bytes change. Python2 has, essentially, a single text-bytes str type. Python3 has different ones. You can't cross that boundary from 2 to 3, because the runtime has no way to know which of text or bytes a given str is.

What you can do is use libraries like six to make code run just fine in both versions, and six-ify on a per file basis. This works pretty well.

Re: Guido blames social media for his decision to abandon the supervision of Python

#80

Believe the Python3 change is a bit of a red-herring, everyone learned from that. The breaking point was PEP 572 (ie :=) which was quite controversial. The lesson here: One shouldn't attempt to reverse 25-year old design decisions, not even GvR. Python is too big now. There was a compromise (and more congruent) alternative, reuse of the "as" keyword, that was thrown out immediately, and proponents rammed 572 thru des…

I think you're right about 572, although even that wouldn't have been enough without all the other stuff from the past, such as the unicode strings. I often have to write things like this: m = re.match() if m: do something So I'm looking forward to the feature. I'm not sure you were fair to the process about the alternative syntax, though. They did give a well-reasoned explanation for discounting it.

It was discounted because it was less flexible, didn't handle as many use cases. True.

However, during the process Victor Stinner rewrote one large module using the new syntax as an exercise. We learned that ~95% of the time, only the simplest case was used, the form you gave above. The extra flexibility turned out not very important in real code.

We had a choice of ":=" syntax, duplicate but full functionality, and losing the BDFL, or ~95% functionality, language congruity, and keeping him. They chose the former.

Maybe Guido stepping aside will be good in the long run however, it was bound to happen eventually.

Post reply on HN