The Python community is welcoming, many come for the language and stay for the community. It's not, of course, free of politics or drama, but it's very far from what you describe. Local communities are very strong, CPython core community seems to always be trying to improve to me.
Even Tim Peters, who I really hope is part of the documentary, is an enthusiastic participant, both helping with gnarly CPython issues and providing assistance to newbies.
If you look at the Fellows list[0], you can see that many important names aren't active in the community anymore (I don't know the reasons for each one), but many more are either active or in (very) good terms with the community.
The CoC was and is a net positive, the diversity efforts even more so. Last Saturday I was at a local Python conference and the local community has welcome both, to great success and improvement.
https://talkpython.fm/episodes/show/513/stories-from-python-...
In 2000 I joined a new startup and was shown Python 1.5.2 by the startup's chief architect/scientists. He'd come from Infoseek where he'd used it there to help build parts of the company.
Now, I loved Perl. I was one of those annoying geeks with "RSA in 4 lines of Perl" T-shirt. I'd write JAPH programs for fun. But I appreciated how much "smaller" Python was than Perl. I was able to learn pretty much all of its rules in an hour? I didn't have to worry about all the crazy ways Perl programs could express themselves. (Is this scalar context or array context?[^1] Is this script using my or local? What the heck does this crazy line I didn't write do again? Oh wait, I wrote that line!)
So anyway, this startup was using Python and now so was I.
That startup is long gone, but I'm still using Python daily in my career.
And I've never used numpy.
Perl was/is great, but it's just too quirky to have the broad appeal of Python.
[^1]: "It's all about context": https://archive.ph/IB2kR
Can you give a concrete example of a problem you encountered while porting 2->3 code caused by a poorly chosen default in 3?
> compatibility features and libraries
You mean like `lib2to3`? Or all the backports 2.7 got, e.g. what's listed at https://wiki.python.org/moin/StandardLibraryBackports ? Or the `__future__` system? Or third-party support like `six` (still immensely popular, though presumably only in CI)?
> the print statement (which could have coexisted with a print() function)
No, it absolutely could not have. Not with the same name, and making the name refer to the function was the point. The print statement syntax was inelegant, quirky and confusing. For example, parentheses can affect the meaning in unusual ways:
$ py2.7 -c 'print (1,); print 2'
(1,)
2
$ py2.7 -c 'print 1,; print 2'
1 2
Besides which, outputting text has no more logical reason to use a dedicated statement form than inputting text.> python's developers seem to have demonstrated tremendous contempt for the users
I don't understand how you have come to infer such an attitude. Any suspicion that they are introducing breaking changes on a whim will be immediately quashed by reading the discussion behind any of those breaking changes. (Not to mention what happens with the rejected proposals.)
> and avoid introducing breaking changes that multiply pain across an entire user base.
What breaking change was introduced in Python 3.x during your history of using it that caused a nontrivial problem for you? How many years do you believe you were given to account for it?