Boost logo

Boost :

Subject: Re: [boost] 5 Observations - My experience with the boost libraries
From: Roland Bock (rbock_at_[hidden])
Date: 2010-03-23 18:42:45


Tom Brinkman wrote:
> Over the past years, every project that I have been involved with
> has tried and then either abandoned boost or highly restricted its use.
>
Interesting. Every project I know is using Boost more intensely every day.
> I want boost to succeed, grow and be successful. Its sad. As someone who
> has used boost
> from the beginning, and has taken far more than I have given, here are some
> of my observations.
>
IMHO, if you have the chance, try to find teams that want to use it and
appreciate the high quality you can find here. I am aware that no
everybody can choose, but if you can, do it.
> Many of the reasons don't have specifically to do with boost, but more have
> to do with a preference for one programming style versus another.
>
> I have identified 5 key issues about why boost was abandoned.
>
> 1) Boost uses exceptions.
>
Sure, why not? Exceptions make sure that you have to take care of
problems. In your atoi example, there is a tremendous risk that
developers do not take care of errors.
> 2) Printf versus Iostream.
>
And streams are so fantastically cool. Ever since I wrote my first
stream operator for some class of mine and serialized some object with
it, wow, I never wanted to use printf again. Never.
> 3) Dependencies.
>
Yeah, well, code re-use. Of course, it leads to many dependencies but:

a) You could restrict yourself to the header-only stuff (no dependency
trouble at all)
b) You could use tools like ldd (linux) or whatever Windows offers to
look at the dependencies. It is pretty easy actually

To be honest, I don't mind the dependencies at all. It would be a pretty
bad sign if no boost library would depend on others. In some cases, I
would prefer even more code re-use. For instance, the DateTime classes
could use spirit for parsing and formatting. They did not, when I looked
last. And they are much slower than they could be...
> 4) Research Projects
>
Hmm? I don't think so. And even if it were true, well, then don't use
the ones you don't like. What's the problem?

I am certainly not using all of them. But the number of boost libraries
I am using is growing, and I would not want to live without the ones I
am using.
> 5) Macros
>
Yup, I don't like them, too. But one of the really cool things about
boost is the platform independence. As a result, when you use Boost, you
don't have to care about platform specific stuff (most of the time),
because all the ugly stuff is hidden behind the curtains of Boost.

To sum it up: IMHO, your 5 points are either invalid (research) or
actually pretty cool :-)

Regards,

Roland


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