I don't disagree with you, but I have a variety of developers that work with me/read/modify my code, and they are of varying levels of proficiency (none are actual C++ programmers by choice) (Java is their main language). I want to make things as friendly and obvious and for them (and guiltily, myself). The nice thing is that when the C++ std level of detail is needed it is there. But 99% of the time we have no need for it to be the absolute best performant code. I understand API creators have that requirement, but application developers usually do not. Maybe C++ isn't the right language, but there's so much Qt does right over all the other options we have.
I will continue to increase my proficiency in C++, but this is my personal commitment. I cannot demand the same for the others. > Sent: Wednesday, October 31, 2018 at 5:19 PM > From: "Jérôme Godbout" <godbo...@amotus.ca> > To: "Jason H" <jh...@gmx.com>, "giuseppe.dang...@kdab.com" > <giuseppe.dang...@kdab.com> > Cc: "interest@qt-project.org" <interest@qt-project.org> > Subject: RE: [Interest] Qt API annoyances: where to log/discuss? > > All those back_inserter() and C++0xXY template make our life easier in the > end, I strongly suggest you do learn them, they can make very generic code > with SFINAE that most other language will have hard time to accomplish with > the same final level of performance. It's a good balance of quantity of code > vs speed. The draw back, is the learning curve and the readability that are > hideous. > > I agree there is way too much boiler plate for C++ template syntax, but you > can design some helper to simplify your SFINAE or other template usage. > back_inserter() for example let you make an algo that work with any type of > container that will append data, no matter what that container can be, you > can even make your own container as long as you provide the push_back() > function. > > Why use back_inserter over direct push_back? Because some algo like copy > operate on iterator and don't need to be rewritten with a push_back version > to work, as simple as that. The mor you will stay close to the iterator and > the standard, the easier it will be to code with it. _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest