[Development] Views in APIs

Marc Mutz marc.mutz at kdab.com
Thu May 14 11:46:29 CEST 2020

On 2020-05-13 17:27, Matthew Woehlke wrote:
> On 12/05/2020 12.59, Marc Mutz via Development wrote:
>> AsidE: If you think that CoW is still a thing today: no. SSO is a 
>> thing these days, and it seems that QString will not have it in Qt 6, 
>> either. NOI favours SSO, QString-everywhere cements the naïve CoW 
>> world of the 1990s for yet another decade.
> I am really, *really* sick of this.
> Okay, for "most" *strings*, you may have a point.

I thought this thread was about strings. Did I miss something?

> However, CoW is
> *absolutely* still a useful tool for a lot of other applications, and
> will continue to be so;

*Optional* *explicit* sharing, as per shared_ptr<const Data> is a thing, 
yes. But that's completely different from the broken Qt "implicit 
sharing" that we have now. Have you read the 22year-old Sutter articles? 
After having read the second, have you checked Qt's implementation for 
the pitfalls mentioned therein? Continue discussing after you did.

> the combination of implicit value semantics
> and "cheap" copies (an atomic increment may be relatively expensive,
> but so are memory allocations, especially for large data structures)
> is not going away any time soon.
> Please stop with this crusade of yours to end all CoW, get rid of
> QList, etc. It is misguided and harmful to the ecosystem at large.

You are entitled to your opinions just as I am. The difference is that I 
put time (much more than KDAB pays me for, esp. when it comes to my 
"crusade") where my mouth is.


More information about the Development mailing list