News for hackers. Stuff that matters.
Re:Lesser known parts of Python standard library – Trickster... by mixmastamyk on Thursday September 05, 2024 @12:31AM (#41453484)
3.6 was the first with the new ordered by default dicts, even though wasn't specc'd until 3.7.
Re:Lesser known parts of Python standard library – Trickster... by Izkata on Thursday September 05, 2024 @01:08AM (#41453673)
It worked as an accidental implementation detail in CPython from some other optimization, but it wasn't intentional at the time. Because it wasn't intentional and wasn't part of the spec, that code could be incompatible with other interpreters like pypy or jython.
Re:Lesser known parts of Python standard library – Trickster... by ericvsmith on Thursday September 05, 2024 @01:50AM (#41453902)
See my comment and the linked email at https://github.com/ericvsmith/dataclasses?tab=readme-ov-file... for dataclasses and 3.6. I think it's still true.
Re:Lesser known parts of Python standard library – Trickster... by raymondh on Thursday September 05, 2024 @03:28AM (#41454390)
The reason Guido didn't want 3.6 to guarantee dict ordering was to protect 3.5 projects from mysteriously failing when using code that implicitly relied on 3.6 behaviors (for example, cutting and pasting a snippet from StackOverflow).

He thought that one cycle of "no ordering assumptions" would give a smoother transition. All 3.6 implementations would have dict ordering, but it was safer to not have people rely on it right away.

Re:Lesser known parts of Python standard library – Trickster... by masklinn on Thursday September 05, 2024 @05:22AM (#41454959)
pypy implemented naturally ordered dict before cpython did.

jython never released a P3 version so is irrelevant, ironpython has yet to progress beyond 3.4 so is also irrelevant.