Boost logo

Boost Users :

Subject: Re: [Boost-users] Why is there so much co-dependency in Boost? Is there anything to be done about it?
From: Jürgen Hunold (jhunold_at_[hidden])
Date: 2012-09-03 11:39:42


Hi Steve,

On Sunday, 2. September 2012 22:43:13 steve_at_[hidden] wrote:
> Greetings,
>
> As a veteran C++ programmer, I've been an admirer of the Boost library for
> many years. I've used it at a number of companies I've worked for,
> especially the SmartPtr library.

Well, working without SmartPtr is a no-go.
>
> Right now I'm working for a company that worries a lot about negative
> exposure to Open Source software issues such as questions that might arise
> about authorship, copyright or even patent issues. The company does allow
> the use of Open Source software, but it requires that each piece of code
> that is brought in first be justified and vetted. Unfortunately, I'm
> finding this to be a nearly impossible task when I look at the amount of
> code that must be compiled to use the Boost modules I'm interested in.

Company policies, sigh.

> I've done a study and written some tools, to determine just how many Boost
> header files must be included to use some of the Boost modules.

Please provide more detail on exactly how you measured this lines. Example
programs might be best.

> The numbers are staggering:

> Any: 79
>
> FileSystem: 276
>
> Smart Ptr: 382
>
> String Algo: 180

Well, nearly everything depends on Boost.Config. Config and especially SmartPtr
contain lots of conditionally compiled platform dependent code.

> I went on and did a tally of which modules these header files came from.
> Here are the counts for how many other Boost modules each of these modules
> depends upon:
> Any: 8
>
> FileSystem: 13
>
> SmartPtr: 8
>
> String Algo: 15

These numbers seem too high. A bit more detail is needed to further comment on
this.

> Given these numbers, I think I have to abandon any thoughts of using Boost
> within my current company. There's no way I'm going to get approval to
> bring so much code into our work just to get a SmartPtr or FIleSystem
> library. This is unfortunate, because due to Boost's existence there
> doesn't seem to be much work going on out there to offer lighter weight
> alternatives.

Well, SmartPtr is in c++11. But this is out of reach for most people, I guess.

> I'm writing this request in the hopes that there's something I'm missing
> here, and that someone can point out my folly. Is there a way to utilize
> any of these Boost modules in such a way that they do not require the
> inclusion of so much code?

If you simpley grep for "include" you get lots and lots of files, especially
for low level things like Config or SmartPtr with lots of code for lots of
platforms ;-)
Did you take a look at the "bcp" tools and tried to extract some modules? This
should get you more insight.

> If not, does anyone have any suggestions as to
> how to make this fly with my boss? Has this issue come up before and been
> considered by the Boost designers? I find the issue baffling.

No ideas there, I got Boost in 10 years ago without anyone noticing.

Yours,

Jürgen

-- 
* Dipl.-Math. Jürgen Hunold  ! 
* voice: ++49 4257 300       ! Fährstraße 1
* fax  : ++49 4257 300       ! 31609 Balge/Sebbenhausen
* jhunold_at_gmx.eu             ! Germany

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net