Live data from Hacker News

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

revyuh.com

81–90 of 91 posts

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

#81
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.

I believe that would have been much more expensive to develop, and the Python dev team didn't have the resources for it.

The easiest things can be done by automatic translation, like 2to3.

The remaining parts get increasingly difficult, because Python 2 objects have to know how they are interpreted in Python 3, and vice versa.

A simper step would be to write an AST transformer to instrument Python 2 code and identify the non-Python 3-compatible uses of, for example, keys() and values(). That's almost as hard as writing a Python 3 implementation in Python 2, and I couldn't convince myself that it made financial sense given that it would still miss a lot of corner cases.

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

#82
Sounds like going forward, anyone who wants to seriously lead a project will need to devise a way to deal with this.

It's fine to lament the "hate" and "trolls" that are present online. (And it's also a very easy shot to take, by the way- no one will seriously disagree with it.) But assuming those are going to be around for at least a while longer, if not forever, to withstand it long-term you need to outright ignore it, or decide the things people say don't matter, or something.

It is true that each of us is responsible for what we say, online and elsewhere. And it is true that many people do not honor that responsibility, particularly online. It is also true that each of us is responsible for how we respond to what people say about us, online and elsewhere.

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

#83
post #53
post #30

Earlier quoted context omitted.

> 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. To know what's going through the USA President's brain right now ? Yes. For a leader of a technical project? I doubt it. If anyone's got a concern about what you're working on, and can't be arsed to go to the relevant forum or mailing list and say so th…

> To know what's going through the USA President's brain right now? Yes. Even here the utility is dubious. A main product of Trump's twitter is food for comedians or useless information. I believe it is important to keep updated on politics and to hold people in power to high standards, but few of the things Trump has to say cannot wait a day. Actually you could say that twitter availability is a cause of Trump expre…

let's go to the source. here is the latest tweet from him. how is it hilarious?

"Today, it was my true honor to present the Commander-in-Chief’s Trophy—for the second year in a row, to the @ArmyWP_Football Black Knights. Congratulations once again on your historic victories, and keep on making us proud!"

i don't want to start a political debate, but blanket statements are rarely useful and can be easily verified.

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

#84
Although the article was mostly about this social media issue, watching the attached video I found Guido's statements about diversity and unconscious bias in Open Source to be a much more interesting part of the interview. (around the 23 minute mark)

Quote from Guido:

If you say "our project is open, anybody can come and join us, anybody can contribute", you are really underestimating the issues. Because it is not just joining the project that's the problem, it is staying in the project.

Which means you have to feel comfortable exchanging emails and code reviews and what-all with people that you don't know personally but you communicate frequently online.

And that sort of communication requires that everybody has respect for each other, and that respect is often missing because of unconscious biases, where guys and sometimes even women, who believe that they have no bias, don't realize that there are small differences in communication styles between men and women, (sometimes they are large differences) that just make it harder for women to join a particular community.

Because it's not just about writing the code, you have to sort of stand up for your code, defend your code, and there is a certain male attitude there that is endemic in many projects, where a woman for example would just not feel comfortable sort of claiming that she is right, that she has the correct insight to decide or to choose a solution, while a guy who knows less than that woman might honestly believe more in their own being right, and so they present a much more confident image. And so they have a much easier time even when they are not all that competent. As long as they present confidence they might get their inferior solution adopted.

A woman will more likely feel that she has to have a perfect solution and a perfect understanding of the issues, why it is a perfect solution, before she will even submit a patch. I am doing a fair amount of mentoring of women specifically, and I found that sometimes women I am mentoring will ask for my approval on every step of the way. They will say "I want to file an issue on the bug tracker but I'm afraid of the negative backlash when I put the issue in, can I tell you what I want to write the issue about?" That is charming, but and I always tell them "just put it in the tracker already! your head is not going to be bitten off, you will got honest feedback, and whether the feedback is 'that is a good idea' or 'that is a bad idea' it will be fine". But I'm sure a guy of the same skill level would not hesitate to just put the issue in the tracker. It is a bit of an attitude and mentality difference which makes it much harder for competent women to get started and stay afloat in this community where the male attitude is the default attitude. Because if someone presents that uncertainty, they are much more likely to get ignored or rejected.

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

#85

Earlier quoted context omitted.

Seriously, I wonder how many of the people who proclaim "no end in sight" for 2.7 are actually using Python. In the usage I can see, the majority of the ecosystem seems to support 3, and at least a large minority has stopped supporting 2.

Most Python code being written today is almost certainly Python 2. Or at least it's close. Google is still Py2 I believe, as is Dropbox. These are big Python shops. I write Python. I don't see an end in sight, yet. There is, however, forward progress.

Google Cloud Functions only support Python 3.7, so Google may be heterogeneous internally.

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

#86

Earlier quoted context omitted.

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.

[deleted]

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

#88
post #24

Earlier quoted context omitted.

No one told me someone had put an arbitrary countdown on the Internet. Well that's completely different. Python may not officially support 2.7 in 2020+. What's to stop someone else backporting security patches and necessary fixes as needed ad infinitum? I think you're underestimating just how little impetus there is to migrate from 2 to 3.

> No one told me someone had put an arbitrary countdown on the Internet. Well that's completely different. No idea what I did to deserve that tone. That site also gives a high level overview of the change, which is why I linked it. > What’s to stop someone else from backporting security fixes as needed ad infinitum? Who? I haven’t heard anyone express a willingness to take up that mantle. “Someone will probably suppo…

> Who? I haven’t heard anyone express a willingness to take up that mantle.

There are many companies and projects who claims to maintain an internal version of Python 2.7. Maintaining after all is not so hard, at the end you only must make sure it compiles and connects to the neccessary APIs.

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

#89
post #53

Earlier quoted context omitted.

> To know what's going through the USA President's brain right now? Yes. Even here the utility is dubious. A main product of Trump's twitter is food for comedians or useless information. I believe it is important to keep updated on politics and to hold people in power to high standards, but few of the things Trump has to say cannot wait a day. Actually you could say that twitter availability is a cause of Trump expre…

let's go to the source. here is the latest tweet from him. how is it hilarious? "Today, it was my true honor to present the Commander-in-Chief’s Trophy—for the second year in a row, to the @ArmyWP_Football Black Knights. Congratulations once again on your historic victories, and keep on making us proud!" i don't want to start a political debate, but blanket statements are rarely useful and can be easily verified.

> but blanket statements are rarely useful

I agree, I was sloppy in my comment and did no good at representing a good point. I am somewhat critical of the "we need to keep updated to the hour" mindset also because I tend to selectively focus on the negative sides. Before reentering this discussion in the future I should better focus on understanding my own positions.

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

#90
post #73

Earlier quoted context omitted.

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 sa…

For many of these things indeed it is about the internal implementation and not about the language itself (although the language itself has many features limiting optimizations as well).

The main problem is that modules are compiled against the CPython implementation and the CPython API. These inefficiencies can never be fixed without changing the CPython API. However, changing that API means breaking all the modules that are compiled against that API.

This is also the reason why other interpreters besides the CPython one have so much trouble supporting all modules. They basically need to either rewrite the module code or support the (very inefficient) CPython API.

They could have changed the API to allow for much more efficient Python programs when they made the breaking transition of Python 2 to Python 3. However, instead they changed only a very small part of the API (the strings/unicode part) and left everything else intact. This meant it was easier to change code to support Python 3, however, it also means the actual benefits of switching to Python 3 are very limited while still breaking every single module that was compiled against Python 2.

This basically brings us to todays situation where billions of lines of code need to be updated to work on Python 3 (many of which will never be updated), while basically barely getting any benefits for doing so.

Yes, improved unicode support is great and I won't argue that it is an improvement, but arguing that it's worth millions of hours and millions of dollars wasted on upgrading code is a very hard sell.

Breaking backwards compatibility is very, very dangerous for popular projects, and it is something that should be taken extremely seriously. The team behind the Python 2 to Python 3 transition clearly did not do that, and the entire Python community has paid the price for that. The "print x" thing makes it extremely obvious that they did not realize the huge impact of their decision to break backwards compatibility. It is a minor thing that fixes a problem that really wasn't there to begin with, but it's a minor thing that breaks almost every single Python 2 program ever written. It's just ridiculous.

Post reply on HN