Hacker News new | past | comments | ask | show | jobs | submit login

Actually it doesn't violate any of the principles behind the language. It could have been there from day one, like tons of others things added later and now totally loved.

I should know, I've worked with Python for 22 years...




Guido disagrees and rejected the idea multiple time in the last 2 decades. I think he worked on Python for a long time too :)

This feature is kind of a symbol, the first real decision of the transition between the bdfl and the next era.

I'm not worried about it, but yes, it was really against python core principles.


Quoth the PEP[1], Guido changed his mind when he found proof that coders would write redundant (and expensive) code to avoid using a separate line to construct a temporary variable.

So one might argue that a principle of python is that the language is dictated by how people read and write rather than the other way around... it's pretty hard to say what principles are "core" when they all conflict and you have to weigh various tradeoffs.

[1]: https://www.python.org/dev/peps/pep-0572/#the-importance-of-...


20 years after. It took 2 decades. My impression from the debate, and taking in consideration the political context, is that he saw that as the tipping point of the BDFL transition and a good test run as much as a language feature.


I'm not following what you're saying it's a test run of. I agree that he probably wanted to cease being BFDL because it's a big job, but with the caveat that I'm terrible at following Internet drama, he did seem genuinely surprised at the outrage.

Regarding that it took 25 years, the normal Python syntax has been enormously successful. People don't tend to look for problems in things that work.


>Guido disagrees and rejected the idea multiple time in the last 2 decades. I think he worked on Python for a long time too :)

Guido also rejected several ideas that would totally fit with Python in those decades. There are lots of concerns (including implementation ones), not just what fits with some hypothetical "Zen", which was never meant as a contract anyway.

Besides Guido finally agreed to it, and even quit because of it.

If Python was to be kept "simple" at all costs, it would have added 20 other things, from operator overloading to yield from over those decades, some far more complex, and non-local than the operator change.


That’s an impressively incorrect history of the operator.

The zen of Python is not a binding constitution. It does not mean nothing can be added if there is some way to do it already, especially if that way improves things. It’s no more “going against the principles” than f-strings where, and they turned out just great.


Guido is the one who accepted the idea and stepped down after he was attacked on social media for accepting the idea.

https://news.ycombinator.com/item?id=20465256


See other replies. Guido was for the operator.


See my other replies as well.


I worked with Python for many years as well. I recently switched to another language...

You can browbeat people all you like but we are not forced to work with any particular language and if it diverges away from what we liked we will just switch away.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: