[Development] Qt 5 types under consideration for deprecation / removal in Qt 6

Konstantin Tokarev annulen at yandex.ru
Sun Jun 9 00:26:34 CEST 2019



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(),
>>  vector.end()).
>>
>>  * 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.

-- 
Regards,
Konstantin



More information about the Development mailing list