[Development] On deprecated APIs

Philippe philwave at gmail.com
Wed Aug 31 10:50:41 CEST 2016


This is a debate convenience vs performance;

* Q_FOREACH will never detach, hence it is convenient.
* A for-loop can be (a very little more) optimized, as long as you work
on const containers or use qAsCont (and many will forget about that... which
is *not* convenient)

Philippe

On Wed, 31 Aug 2016 09:38:21 +0200
Marc Mutz <marc.mutz at kdab.com> wrote:

> Hi,
> 
> My porting guide for Q_FOREACH -> C++11 ranged for has created the expected 
> outcry from users.
> 
> I think some of the FUD comes from the fact that deprecation in 5.x usually 
> means that the API is gone in Qt 6.0.
> 
> I'd therefore like to propose a new contract with our users:
> 
> The Qt Project:
> - continues to deprecate API it wants gone
> - maintains deprecated Qt N.x API until Qt (N+1).0.
> - does *not* remove deprecated N.x API anymore come (N+1).0
> - does also *not* maintain deprecated N.x API after the initial (N+1).0.0
>   release
>   * (ie. N+1).y CI runs with API deprecated in N.x (or earlier) disabled
>   * also means Qt does the work of making sure deprecated API is turned
>     all-inline before a .0.0 release to maintain BC.
> 
> In return, the Qt users:
> - stop insisting on -Wdeprecated-clean builds without investing time of their
>   own into updating their sources
> - provide patches to maintain deprecated APIs we no longer maintain
> 
> In return, the Qt Project:
> - pledges to take those patches in without hackling about "but it's
>   deprecated..."
> 
> This allows us to continue to mark API deprecated, so new users have guidance 
> on what API to avoid, while giving peace of mind to users of exisiting API 
> that their investment is protected, as long as they're willing to participate 
> in maintenance.
> 
> I believe this is fair and beneficial for both sides. I don't know how far 
> this will carry us (technically and socially), but maybe we can just try it in 
> the Qt 5 -> 6 transition?
> 
> I won't be able to come to QtCon this year, either, but feel free to take the 
> opportunity to discuss this there.
> 
> Thanks,
> Marc
> 
> -- 
> Marc Mutz <marc.mutz at kdab.com> | Senior Software Engineer
> KDAB (Deutschland) GmbH & Co.KG, a KDAB Group Company
> Tel: +49-30-521325470
> KDAB - Qt, C++ and OpenGL Experts
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/development





More information about the Development mailing list