
On 10/17/2013 6:24 PM, Stephen Kelly wrote:
Hi there,
my plan for modularizing and modernizing Boost was roughly this:
* Phase 0 - remove dead weight by bumping compiler feature requirements * Phase 1 - move some files around so that the modularized repos form a mostly directed graph
I disagree with the idea that dependencies should be reduced unless there is a better reason than just analyzing a directed graph. Once you start moving code just to reduce dependencies you may actually end increasing dependencies for end-users. The typical situation showing this is: Library AAA depends on Library BBB and nothing else in Boost currently depends on library BBB so you decide to move library BBB into library AAA to reduce a dependency. Now you have the end-user who uses library BBB in his code. After the move the end-user now depends on library AAA, but library AAA may is now bigger than before and if it is a library which must be built the end-user must ship a much larger shared library even though he may only need a small part of a library. Even if library BBB is only a header only library why should the user of library BBB have to know about library AAA to use just the part of library BBB he used before ? This need you feel to glob together libraries and/or pieces of libraries for the abstract goal of reducing dependencies is just wrong IMO.