Subject: Re: [boost] [gsoc] Boost.Process done
From: Boris Schaeling (boris_at_[hidden])
Date: 2010-09-01 15:54:20


On Wed, 01 Sep 2010 15:47:27 +0200, Ilya Sokolov <ilyasokol_at_[hidden]>
wrote:

> [...]
>> Regarding the header files above: I wonder whether it makes sense to get
>> rid of actual helpful functions like boost::algorithm::ends_with() only
>> to remove a dependency on another Boost library. I understand the case
>> about Boost.Filesystem which requires to be built. But it's a kind of
>> strange goal for Boost libraries to reuse as little code as possible
>> from other Boost libraries?
>
> "Negative effects of coupling become obvious when one library uses a
> second library which uses a third, and so on. The worst form of coupling
> requires the user understand each of the coupled libraries. Coupling may
> also reduce the portability of a library - even in case when all used
> libraries are self-sufficient..."
>
> http://www.boost.org/development/reuse.html

I quote then the paragraph starting with "The benefits of using components
 from other libraries...". ;)

Anyway, while it all sounds good in theory how many developers are out
there trying to use single Boost libraries without installing the others?
It sounds like a bit too much effort reinventing what has been implemented
in other Boost libraries for what I expect is a relatively small group of
developers? I heard much more often that developers didn't want to build
libraries but simply include header files. That said I wouldn't mind to
drop the dependency on Boost.Filesystem as currenly it is indeed only used
because of an exception class. As I think this is the right class to use
though design decisions will then be affected by library dependencies! Are
we sure that we want this?

Boris