[Python-ideas] Let's be more orderly!
abarnert at yahoo.com
Wed May 15 00:23:26 CEST 2013
On May 14, 2013, at 12:53, Jonathan Eunice <jonathan.eunice at gmail.com> wrote:
> Using a compatible, separate implementation for OrderedDict is a fine way to gracefully extend the language, but it leaves ordering only half-accomodated. Consider:
> OrderedDict(a=2, b=3, c=7)
If your proposal is to replace dict with OrderedDict, I think you need at least one use case besides OrderedDict's constructor.
> But from an app developer’s point of view, ordering is a basic, essential property.
There are plenty of things that are basic, essential properties of a particular type, but there is very little that's a basic, essential property of _all_ types.
Surely you wouldn't suggest that a complex number should remember whether you specified the real or imaginary component first.
So your argument is that order of insertion is a basic property of _mappings_ in particular.
And I think blist.sorteddict, trie.Trie, etc. are good arguments against even that assertion. It's not just about performance; it's about correctness. Insertion order is not a fundamental property of mappings.
If you're just suggesting that collections.abc should grow an OrderedMapping, and/or that kwargs should be an OrderedDict, either or both might be reasonable.
But if you're suggesting that Mapping and dict should both become ordered, I disagree with both.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Python-ideas