←back to thread

2024 points randlet | 4 comments | | HN request time: 0.666s | source
Show context
AdmiralAsshat ◴[] No.17515876[source]
What was the issue that was evidently so contentious that it made him wish to step down?
replies(5): >>17515913 #>>17515941 #>>17515956 #>>17515958 #>>17515959 #
Analemma_ ◴[] No.17515959[source]
(a := b) rather than a = b

Naturally people went to the barricades for it, in a classic example of bikeshedding and Wadler's Law (programmers will fight to the death over trivial syntax disagreements and just shrug at profound changes to semantics and architecture)

replies(4): >>17516054 #>>17516202 #>>17516377 #>>17517585 #
1. Herald_MJ ◴[] No.17516054[source]
That's not an accurate summary of assignment expressions.

Assignment expressions perform the assignment and also return the value of the assignment. So you can assign and test a conditional at the same time. It's quite an elegant alternative to some quite verbose repetitive code you would otherwise have to write in some scenarios.

replies(2): >>17516133 #>>17516145 #
2. Analemma_ ◴[] No.17516133[source]
I'm sorry, I should have clarified. There was a lot more to the PEP than what I mentioned, it just seemed to me like the loudest and dumbest arguments against it were complaining about the colon and not anything substantive.
3. wenc ◴[] No.17516145[source]
Assignment expressions are also found in languages like C#, and have proven to be of great practical value.

f-strings was another Python 3 idea that was pre-dated by an implementation in C# [1] ($-interpolation) and it was a popular idea in that language too.

I don't want to proffer an opinion on PEP 572 since I haven't followed the discussions, but these things have been "bench-tested" in other languages and not been found wanting, so I do wonder a little bit about the true cause of the controversy.

[1] https://docs.microsoft.com/en-us/dotnet/csharp/language-refe...

replies(1): >>17518369 #
4. Herald_MJ ◴[] No.17518369[source]
Yes, I don't really understand the controversy either. I work with Python a lot in my day job, and I am quite frustrated with how slowly the language moves. For a long time, it seemed like the reason was the Python 2-3 switch, but now we don't have that excuse, and things are still slow. Every little decision seems to get immobilised at the PEP stage.