←back to thread

2024 points randlet | 4 comments | | HN request time: 0.746s | source
Show context
bla2 ◴[] No.17515883[source]
> I don't ever want to have to fight so hard for a PEP and find that so many people despise my decisions.

Leading a large open source project must be terrible in this age of constant outrage :-(

replies(9): >>17515955 #>>17515972 #>>17516193 #>>17516427 #>>17516776 #>>17516884 #>>17517282 #>>17517716 #>>17517821 #
symmitchry ◴[] No.17515972[source]
I'm a little confused though, by his feelings here. Why did he feel the need to "fight so hard for a PEP" if it was so controversial, and everyone was outraged?

I do understand people's points about "the age of outrage" and "internet 2018" but still: the PEP wasn't generally accepted as being a fantastic improvement, so why did he feel the need to fight so hard for it?

replies(5): >>17516128 #>>17516129 #>>17516223 #>>17516774 #>>17519017 #
jnwatson ◴[] No.17516128[source]
It was controversial syntax, inline assignment-as-expression. There's always a tension between "keep it simple stupid" and "let's make it better", especially when a large user demographic of Python are non-professional-programmers.

Interestingly, C++ is going through the same process, with lots of great ideas being proposed, but the sum total of them being an even more complicated language (on top of what is probably the most complicated language already).

Python has been successful, IMHO, because Guido has made several brave, controversial calls. Python 3 breakage and async turned out to be prescient, fantastic decisions.

replies(6): >>17516204 #>>17516226 #>>17516681 #>>17517178 #>>17517212 #>>17533584 #
1. pmontra ◴[] No.17517178[source]
That a customer of mine started a web project in Python 2 in 2015 after 7 years since the first release of Python 3 means that the Python BDFL and community managed the process horribly.
replies(1): >>17517772 #
2. janoc ◴[] No.17517772[source]
Could it be that many vendors still ship Python 2 as default for internal reasons (system-related scripts and what not rely on it)? Macs, for example ...

So you customer, not knowing any better, used whatever was on the machine already. If that's the case, that's really not the Python's community's fault.

replies(2): >>17517898 #>>17538310 #
3. pmontra ◴[] No.17517898[source]
They could have used any Python version with one of the many version managers around or docker. I think nobody cares about what comes with the operating system nowadays.

The problem was that after 8 years there were still around libraries and frameworks that worked only with Python 2. That's a huge failure. If developers want to keep using the old stuff it means that the new one is either badly designed or badly managed.

Compare it with Ruby. There were big changes from 1.8 to 1.9 (unicode stuff among the others) and again with the 2.x series. The language mostly maintained backward compatibility and we can still write Ruby on 2.5 with the old 1.8 syntax. Community ported libraries and frameworks, started using the new features and all went well.

4. collinmanderson ◴[] No.17538310[source]
Mac probably uses whatever python FreeBSD uses. Most BSDs still use Python 2 by default.