<div dir="ltr"><div dir="ltr">On Tue, May 21, 2019 at 9:34 AM Mutz, Marc via Development <<a href="mailto:development@qt-project.org">development@qt-project.org</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">[...]<br>
This does not make the API simple to use.</blockquote><div><br>Actually it does. Simple, as "easily understood or done" and self-explanatory, which isn't the case for the Q3Slider's constructor. Yes, familiarity plays a role in that, but doesn't conflict with simplicity.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">It introduces two different ways to do essentially the <br>
same thing</blockquote><div><br>So? The standard does that too. Before the lambda from c++11 we implemented that idiom as a function object. We had the tools to do it and it worked just as well. It can still be done instead of using the shorthand syntax.</div><div>I, personally, have found it rather curious that each new revision of the language claims more expressiveness and simplicity, while the STL on the other hand is restricted to the box of "universality"; in the end there's nothing more universal than a naked C-style array.<br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">advocating the ways that only works in a particular <br>
corner-case and refusing to show the universal way<br></blockquote><div><br>To paraphrase: You're confusing universality with simplicity.<br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Had the Qt API and the docs not lied to them by <br>
permanently showing contains() without mentioning that it's but a <br>
short-cut for a corner-case, but shown them std::find or std::remove <br>
instead, the developer would have been empowered.</blockquote><div><br>I object to the "corner-case" description, otherwise I'm with you (partially). There should be some promotion in the docs of the iterators, for example with regards to find-and-erase vs. remove() (e.g. QHash, QMap). Especially whenever you actually need to get the value before removing.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">As-is, Container::contains() dumbs the novice down by telling him a fairy-tale <br>
that isn't applicable to actual professional work.<br></blockquote><div><br>Actually it doesn't. I continue to claim that contains() is a convenient shorthand when you are only interested whether something has something, which if I had to pull a number off thin air probably constitutes ~5% up to ~10% of the cases where you search. This doesn't qualify for an edge-case, and most certainly doesn't exclude professional work.</div></div></div>