
On 01.09.2010 23:54, Boris Schaeling wrote:
On Wed, 01 Sep 2010 15:47:27 +0200, Ilya Sokolov <ilyasokol@gmail.com> 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..."
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?
Actually, I wasn't thinking about such developers, but about compilation time (lexical cast and algo.str), portability and stability (filesystem).
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?
The dependencies I object to are easy to avoid.