[Interest] Qt API annoyances: where to log/discuss?

Jason H jhihn at gmx.com
Thu Nov 1 21:14:00 CET 2018


> Sent: Thursday, November 01, 2018 at 3:44 PM
> From: "Giuseppe D'Angelo" <giuseppe.dangelo at kdab.com>
> To: "Jason H" <jhihn at gmx.com>
> Cc: interest at qt-project.org
> Subject: Re: [Interest] Qt API annoyances: where to log/discuss?
>
> Il 31/10/18 21:59, Jason H ha scritto:
> > Thanks Giuseppe! That's getting closer :-) however the expression boggles my mind. "originals | ranges::view::transform" there's a lot of compiler voodoo there. I'm trying to keep up on all the C++0xYZ developments, and still trying to wrap my head around SFINAE. I had to look up CTAD, and that looks like a very good enhancement. I think Qt should hide a lot of that compiler iteration from me ;-) 
> 
> You can replace Qt with "the libraries I use". They will hide the 
> complexity of compiler magic from you (where do you _see_ the magic in 
> the lines I pasted?).
> 
> 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?
> 
> If anything, this means that QImage should be adapted to be usable 
> through ranges (!).
> 
> 
> > It is an unfortunate phenomenon that I am spending more time decrypting compiler Voodoo.
> 
> Sorry, I don't get this. If you're just using the features, why would 
> you care about they're implemented? What's there to decrypt?
> 
> Just rest assured that any feature coming from the Standard Library 
> comes from the very same people building your compiler, so it will get 
> implemented in the best way possible.


originals | ranges::view::transform([](int i) { return i * 3; });

The bitwise OR operator, descending multiple namespaces. 
It makes my point. That these very common functional programming paradigms (map, reduce, etc)  are (needlessly?) obtuse in C++.

Further more, my point is made qgain with this talk about C++2a. It's something that can be done now, but i shouldn't have to wait, Qt can implement these however it can today and move to ranges when available. 


> Cheers,
> -- 
> 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
> 
>



More information about the Interest mailing list