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

Giuseppe D'Angelo giuseppe.dangelo at kdab.com
Mon Jun 10 12:12:04 CEST 2019

On 09/06/2019 00:00, Kevin Kofler wrote:
> 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.

There are some practical problems with this:

1) It creates technological debt into QtCore, where we have to keep this 
stuff around forever (and working and supported on *all* platforms, and 
compatible with the latest compilers, etc.).

2) It creates technological debt all around Qt implementation, where the 
"worse" choice (for some factor of worse) may be made, and that's 
something a C++ library should never, ever do.

3) It still creates a massive teaching problem (for instance, the 
perennial "which one should I use? Qt containers or STL containers? Qt 
atomics or STL atomics? Qt smart pointers or STL smart pointers? Qt 
mutexes or STL mutexes?" and so on). Unlike what it has been claimed 
elsewhere, people now arrive to Qt from all sorts of backgrounds, so 
these questions DESERVE accurate answers.

4) The most important one: the moment some of this stuff is exposed as 
public API, the users are no longer free to choose. We have 
QSharedPointer, QHash, (well, QList), and more stuff and similar in Qt 
APIs. That's Qt making the decision for the user, so saying "they can 
always go and use the STL" is false.

I know that solving the type exchange at the API level is a much, much 
bigger fish to fry. I'm just saying that it IS a compatibility problem 
that forces the user's hand.

My 2 c,
Giuseppe D'Angelo | giuseppe.dangelo at kdab.com | Senior Software Engineer
KDAB (France) S.A.S., a KDAB Group company
Tel. France +33 (0)4 90 84 08 53, http://www.kdab.com
KDAB - The Qt, C++ and OpenGL Experts

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4329 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.qt-project.org/pipermail/development/attachments/20190610/372bdaf4/attachment.bin>

More information about the Development mailing list