Subject: Re: [boost] [Booster] Or boost is useless for library developers
From: Artyom (artyomtnk_at_[hidden])
Date: 2010-05-16 03:00:25


> those who are always caught in a "should we fix this
> bug? it makes
> applications break, but fixing it would break the ABI"
> dilemma.

ABI compatibility should not prevent fixing bugs. This is important
point. In fact libstdc++ manages its ABI for 6 years successfully,
Qt does this very well too.

However you need to be prepared. You generally need at least one
d-pointer/opaque-pointer/pimpl. You need to separate implementation
and definitions (it would also increase compilation time, and
reduce code size).

Only bugs you can't fix are deep design issues. I don't see it as problem.

Take a look on Boost.Locale source code I had written.

Almost all non-trivial code put into C++ source files.

Every non-trivial class has pimpl pointer allowing me to make
changes quite easily and so on.

> I need updating strategies for large deployments of
> binary
> modules which are a bit more granular than "upgrade boost,
> then
> recompile everything".

Exactly, this one of very important issues that ABI stability would solve.

Artyom