On Monday, 20 April 2020 03:28:48 MDT Florian Bruhin wrote: > FWIW that's the choice Python had taken with Python 2 (ordering different > types by their type name). It was widely regarded as a bad decision and > replaced by a TypeError exception in Python 3.
Interesting. Do you have more information on why it is regarded a bad decision? A PEP, hopefully? Either solution can be dealt with by the surrounding code. If one wants not to sort across types and QVariant does, then all you need to do is to compare the types before. If one want to sort by type and QVariant doesn't, then one needs to convert to a specific common type before issuing the comparisons. The pros of having that conversion inside QVariant is that it reduces the chance of someone getting it wrong. This reduces code duplication in favour of a well-tested implementation. The drawback is that it might not be the order you want because the conversion isnt the one you wanted. Some conversions are lossy and may result in spurious or nonsensical comparisons. That means some applications may need to deploy their own conversion code regardless of what QVariant does. For those and the others that don't need comparisons across types, QVariant has unnecessary complexity. So, again, it boils down to choice. I'm really interested in Python's rationale to see if it applies to us too. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel System Software Products _______________________________________________ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest