[Development] Qt 5 types under consideration for deprecation / removal in Qt 6
annulen at yandex.ru
Sun Jun 9 00:27:21 CEST 2019
09.06.2019, 01:26, "Konstantin Tokarev" <annulen at yandex.ru>:
> 09.06.2019, 01:02, "Kevin Kofler" <kevin.kofler at chello.at>:
>> Giuseppe D'Angelo via Development wrote:
>>> In other words, the advantages of keeping the Qt equivalents start to be
>>> (seriously) questioned. We're therefore left with the question of what
>>> to do with these equivalents.
>>> * We could play the catch-up game, but that requires a development
>>> investment that is simply not there any more, and is even questionable
>>> (is it the job of people developing Qt to rewrite algorithms widely
>>> available elsewhere?).
>>> * We could move the Qt equivalents into a "support library", maybe with
>>> deprecation warnings, maybe without. I'm not sure of the traction of
>>> this idea these days, but IIRC having "Qt4Support" was frowned upon when
>>> Qt 5 was being shaped. (Thus QtAlgorithms was left in QtCore, deprecated.)
>>> * We could just deprecate and tell people to migrate away. That's kind
>>> of the whole point of this thread, and comes with all the annoyances,
>>> and people reimplementing them downstream because they still want the
>>> convenience of a qSort(vector) over std::sort(vector.begin(),
>>> * We could keep things where they are, supported, thus offering the
>>> easier APIs; but simply reimplement them on top of the "upstream"
>>> equivalents. (Ignore the possible ABI break.)
>> There is one option missing:
>> * We could just keep the Qt equivalent as is, without adding the features
>> of the STL equivalent if there is no manpower to port them to the Qt
>> equivalent. Developers using the Qt version are happy with the Qt version
>> as is, and those that are not can always go and use the STL. There is no
>> point in deprecating or splitting out those classes, they should just
>> remain in QtCore where they belong.
>>> Here's where the "extension" bites us: if the Qt equivalent offered
>>> something that upstream is not offering, and we can't reimplement it,
>>> then what do we do? Dropping support for it would be, at best, an API
>>> break; and at worst, a _silent_ behavioural change.
>> That's why you should just not do that, and instead keep the Qt
>> implementation. Let the users decide for themselves whether they prefer the
>> advantages of one (Qt) or the other (STL) implementation.
>> I, for one, don't give a darn about all those new C++11/14/whatever STL
>> features. I don't want to touch the STL with a 10-foot pole! The best thing
>> Qt can do with the STL is pretend it doesn't exist. (I wish QT_NO_STL were
>> still supported!)
> Do you really wish to touch C++ with a ten foot pole? It's such a horrible,
> inconsistent, and complicated language! There are many higher-level languages
> on market which can make you more productive, and you surely won't need to use
> STL. Ever.
Oh sorry, I've forgotten to add a reference:
More information about the Development