I agree with Raymond. dict ordered by default makes better developer experience.
So, my concern is how "language spec" is important for minor (sorry about my bad vocabulary) implementation? What's difference between "MicroPython is 100% compatible with language spec" and "MicroPython is almost compatible with Python language spec, but has some restriction"? If it's very important, how about "strong recommendation for implementations" instead of "language spec"? Users who don't care implementations other than CPython and PyPy can rely on it's usability. Regards, INADA Naoki <songofaca...@gmail.com> On Tue, Nov 7, 2017 at 2:11 PM, Raymond Hettinger <raymond.hettin...@gmail.com> wrote: > >> On Nov 6, 2017, at 8:05 PM, David Mertz <me...@gnosis.cx> wrote: >> >> I strongly opposed adding an ordered guarantee to regular dicts. If the >> implementation happens to keep that, great. Maybe OrderedDict can be >> rewritten to use the dict implementation. But the evidence that all >> implementations will always be fine with this restraint feels poor, and we >> have a perfectly good explicit OrderedDict for those who want that. > > I think this post is dismissive of the value that users would get from having > reliable ordering by default. > > Having worked with Python 3.6 for a while, it is repeatedly delightful to > encounter the effects of ordering. When debugging, it is a pleasure to be > able to easily see what has changed in a dictionary. When creating XML, it > is joy to see the attribs show in the same order you added them. When > reading a configuration, modifying it, and writing it back out, it is a > godsend to have it written out in about the same order you originally typed > it in. The same applies to reading and writing JSON. When adding a VIA > header in a HTTP proxy, it is nice to not permute the order of the other > headers. When generating url query strings for REST APIs, it is nice have the > parameter order match documented examples. > > We've lived without order for so long that it seems that some of us now think > data scrambling is a virtue. But it isn't. Scrambled data is the opposite > of human friendly. > > > Raymond > > > P.S. Especially during debugging, it is often inconvenient, difficult, or > impossible to bring in an OrderedDict after the fact or to inject one into > third-party code that is returning regular dicts. Just because we have > OrderedDict in collections doesn't mean that we always get to take advantage > of it. Plain dicts get served to us whether we want them or not. > _______________________________________________ > Python-Dev mailing list > Python-Dev@python.org > https://mail.python.org/mailman/listinfo/python-dev > Unsubscribe: > https://mail.python.org/mailman/options/python-dev/songofacandy%40gmail.com _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com