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"
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
> modules which are a bit more granular than "upgrade boost,
> recompile everything".
Exactly, this one of very important issues that ABI stability would solve.