Boost logo

Boost :

Subject: Re: [boost] [Booster] Or boost is useless for library developers
From: Artyom (artyomtnk_at_[hidden])
Date: 2010-05-17 02:48:42


> Honestly, if boost was changed to use these indirection
> techniques in
> all places, I'd probably fork it or go for an alternative
> solution.

I do not suggest having all boost abi-stable but take most valuable
stable and important parts (tr1 for example) and make them such
or, add ::boost::stable or ::unboosted namespace and put there all
stable parts.

> Indirection might solve the fragile interface
> problem and
> reduce compilation times and code size, but it also
> effectively blocks
> any compiler optimization which spans multiple methods that
> could be
> inlined before. Consider boost::phoenix: as we have it now,
> without
> indirection,

Of course not every part should be pimpl-ed and many can't.

>
> As stated before, I would consider it useful to have a
> boost::abi
> module which abstracts away the internals. This would
> probably use one
> of the indirection techniques you mentioned. But I don't
> think
> something like this should be scattered throughout the
> whole boost.

Agree

>
> BTW, I would rather compare boost not with Qt or libstdc++,
> but with
> Linux kernel development. They also work at a very low
> level, and they
> came to the conclusion that a fixed ABI would be to costly.
> I think a
> fixed ABI is something that should only be considered on a
> higher
> level.

This is good point. Linux kernel unstable for Driver development
so you need to compile each driver with specific kernel (or just
get it into kernel).

But it is SUPER stable for user. System calls are never (or almost)
never removed and keep their compatibility.

So given right libraries you can run code compiled for Linux 2.0 on
Linux 2.6.32

Artyom

      


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk