Il 06/09/2016 17:10, Kevin Kofler ha scritto:

> I think it was a mistake to remove -no-stl to begin with, and that Qt API 
> should not be littered with ugly std:: APIs, not just for ABI reasons, but 
> also for API (consistency) reasons.

Having APIs which follows the naming in the Standard Library has nothing
to do with the discussion at hand.

It's also proven that:

1) they allow C++ developers to see Qt as a less foreign land
2) they allow Qt classes to be used with other APIs (say, run algorithms
written for the STL over them)
3) they don't pose any extra maintenance burden (as they would just
forward the call to the Qt-ish API)

So please do not derail this sub-topic. The subject at hand here is
using Standard Library datatypes in our public API.


> Why can't Qt continue to offer better Q* equivalents as it has always done? 

1) BECAUSE. THEY. ARE. NOT. BETTER. In so many cases they're actually
far worse (hi, algorithms!). Can we please stop having this discussion
over and over again?

2) Because there are countless things for which you can't escape from
using the Standard Library: how can you possibly implement things like
std::is_enum? How can you handle initializer lists? (And yes: we need
all of that).

3) Because nobody wants to spend time to properly reimplement
non-trivial things like std::function, when we have a fully working
std::function we could just use. And we need std::function in many
places in our public API. Rinse and repeat for the other cases.

And before you think of "let's make a simplified std::function, which
will be 'simpler' for the user to use, and 'simpler' for us to
implement", please read

https://www.kdab.com/goodbye-q_foreach/#comment-158485


> What benefit does it bring to users to deprecate nice APIs for less nice 
> ones just because the latter are part of the compiler?

Nobody is talking about this -- on the contrary, we even considered
offering convenience classes. Say, a std::vector subclass which adds
append() and isEmpty().

-- 
Giuseppe D'Angelo | giuseppe.dang...@kdab.com | Senior Software Engineer
KDAB (UK) Ltd., a KDAB Group company | Tel: UK +44-1625-809908
KDAB - The Qt Experts

Attachment: smime.p7s
Description: Firma crittografica S/MIME

_______________________________________________
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to