C++ Logo

std-proposals

Advanced search

Re: [std-proposals] PR: std::allocator<T>::allocate is not freestanding

From: Brian Bi <bbi5291_at_[hidden]>
Date: Mon, 4 Sep 2023 13:19:41 -0400
On Mon, Sep 4, 2023 at 12:53 PM Jason McKesson via Std-Proposals <
std-proposals_at_[hidden]> wrote:

> On Mon, Sep 4, 2023 at 12:09 PM coshvji cujmlqef via Std-Proposals
> <std-proposals_at_[hidden]> wrote:
> >
> > Let's delve into some fundamental economics, my friend. Small companies
> often struggle to thrive in a competitive landscape. When large companies
> increase their organic composition, it tends to reduce the socially
> necessary labor time, leading to a decrease in the prices of goods.
> Consequently, small companies can lose surplus value to their larger
> counterparts, who benefit from super profits at the expense of smaller
> businesses.
> >
> > It's worth noting that there are exceptions, such as Google, which has
> shown a willingness to break ABI compatibility. Nevertheless, even Google
> has numerous sections of code that must remain unaltered. In contrast, it
> appears that Microsoft is quite cautious about breaking ABIs.
>
> ... how does that address anything Ville said?
>
> Here's what you don't understand: *everybody* is hurt by an ABI break.
> But as with any generalized economic harm, larger, higher-wealth
> entities are better equipped to survive such harm. An ABI break that
> requires Apple to spend $10 million to rewrite parts of its stack
> would be a bad thing for them. They don't want to spend that money if
> they don't have to. But.. they do *have* that money to spend. So the
> circumstance would be bad-but-survivable.
>
> A small company that takes in $3 million annually in revenue that's
> dependent on some binary-only library might only have to spend
> $500,000 to rewrite it in the event of an ABI break. But unlike Apple,
> they don't have that much money lying around. So their company breaks.
>

In reality "go out of business because we don't have enough money to
reimplement the library" is not the only option. If ABI breaks were that
apocalyptic, then they would never get approved. (Did the C++11 changes to
std::string cause any small companies to go out of business?)

ABI breaks certainly have costs, but not breaking ABI also has costs, and
it appears to many people, both within and outside of WG21, that the costs
of breaking ABI are overestimated, and the costs of not breaking ABI are
underestimated.


> --
> Std-Proposals mailing list
> Std-Proposals_at_[hidden]
> https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals
>


-- 
*Brian Bi*

Received on 2023-09-04 17:19:55