[Interest] Qt API annoyances: where to log/discuss?
Giuseppe D'Angelo
giuseppe.dangelo at kdab.com
Tue Nov 27 13:47:02 CET 2018
Il 22/11/18 10:03, Dmitriy Purgin ha scritto:
>
> On Thu, Nov 1, 2018 at 3:44 PM Giuseppe D'Angelo via Interest
> <interest at qt-project.org <mailto:interest at qt-project.org>> wrote:
>
> And every time you use C++ you have the Standard Library with you,
> which
> (crossing fingers) will have ranges in C++2a; why should Qt spend any
> time at all implementing something like that?
>
>
> I can't agree with this argument. I can't see why we can't have a Qt-way
> of processing containers/ranges in a more "functional" way because the
> standard will _maybe_ have it in future.
Side note: the One Ranges Proposal has been ratified in San Diego for
inclusion in C++20:
> https://herbsutter.com/2018/11/13/trip-report-fall-iso-c-standards-meeting-san-diego/
There isn't a "why we can't", except of course that someone needs to do
the work -- work that is already being done elsewhere, and that we could
just use.
> As you say yourself, we may or we may not have the ranges in C++2a. If
> we are lucky and we do, it will be 2020 at earliest that the standard is
> published, and another year or two until all the major compilers keep up
> and stop consider the C++2a features "experimental", which is, by the
> way, still the case for gcc and C++17 [1]. So we're looking at 2-4 years
> from now at best until all these features are "stable" and we can safely
> use them without risk of having to accidentally debug the standard
> library or a compiler bug for days.
That's correct, but this isn't an argument for not using ranges-v3 or
Boost.Ranges, which are available today, work on all major platforms,
are widely documented, tested, discussed, and so on.
> The ranges-v3 library is fine and usable, but by using it in a customer
> project one has to consider additional dependencies, licenses,
> portability, maintainability, correctness of the library and its
> long-term support. The authors state themselves that the library is
> experimental and subject to change. One of the reasons Qt is so
> successful is that "it has it all", it's well documented, it generally
> can be seen as a single dependency, and you generally expect good
> quality and portability between supported platforms. If I'd see an
> implementation of ranges-like algorithms in the Qt framework I wouldn't
> hesitate to use it because I expect it to be at least Qt-grade quality.
This is an argument which is heard very often, and not just towards Qt
-- for instance it's heard when trying to get $something into the
Standard Library, so that one has high quality, no extra dependencies,
(usually) same licensing than the compiler, and so on.
The other side of this argument is: Qt can't provide you with
_everything_. The development bandwidth is finite, and therefore Qt's
scope is limited. Which brings back the question: is it worth for the Qt
project to invest efforts in areas that are being already covered (in an
excellent way) by other libraries?
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: 4007 bytes
Desc: Firma crittografica S/MIME
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20181127/c5524758/attachment.bin>
More information about the Interest
mailing list