News for hackers. Stuff that matters.
Re:Python dicts are now ordered by manaskarekar on Friday February 07, 2020 @11:16AM (#22267435)
In other words, it breaks backwards compatibility, but not forward compatibility.
Re:Python dicts are now ordered by elcomet on Friday February 07, 2020 @11:23AM (#22267522)
That's not what people call backward compatibility.

Backward compatibility is the ability to run old code with new interpreters. This is not broken here.

What's broken is the ability to run new code on old interpreters. But this is already broken at every python update (new operators, methods, syntactic sugar..). We could call it reverse backward compatibility.

Re:Python dicts are now ordered by manaskarekar on Friday February 07, 2020 @11:30AM (#22267616)
I suppose the meaning of the term depends on what we consider to be the subject of the compatibility.

- backwards compatible code: new code can run on an old interpreter

- backwards compatible interpreter: old code can run on a new interpreter

EDIT: After some thought, you're right. The second description is the reasonable interpretation.

"python 3.7 is backwards compatible with python 3.6"

Re:Python dicts are now ordered by rovolo on Friday February 07, 2020 @04:48PM (#22271347)
This confusion reminds me of a scene from the 2002 film of Dave Barry's "Big Trouble".

(Driving to an airport) "Okay, we gotta pick a road. Arrivals or departures? We're arriving, but then we're departing."

https://en.wikiquote.org/wiki/Big_Trouble

https://www.youtube.com/watch?v=EjHHzZAUxbM&t=300

Re:Python dicts are now ordered by gnulinux on Friday February 07, 2020 @12:11PM (#22268169)
No, this change is backward compatible but not forward compatible. Old code (written for old interpreter) works in new interpreter; but new code (written for new interpreter) is broken in old interpreter.