Boost logo

Boost :

Subject: Re: [boost] 5 Observations - My experience with the boost libraries
From: strasser_at_[hidden]
Date: 2010-03-23 16:03:39


Zitat von "Stewart, Robert" <Robert.Stewart_at_[hidden]>:

> Tom Brinkman wrote:
>>
>> I have identified 5 key issues about why boost was abandoned.
>>
>> 1) Boost uses exceptions.

there are measures taken where it makes sense to support exceptions
and error codes, e.g. in Boost.FileSystem.
which libraries should support error codes that currently don't?

I don't think lexical_cast is a valid example. lexical_cast is neither
efficient nor flexible, it is a simple tool.

>> 3) Dependencies.
>>
>
> The dependencies aren't confusing so much as complex. Would you
> have each library in Boost reinvent rather than reuse other Boost
> functionality? Isn't that the point of Boost libraries: reuse
> functionality written by others?

I don't think the dependency itself is the problem (if it is the
result of reused funtionality), but that dependencies are hardly
documented anywhere.

boost could publish a dependency graph that lets you easily figure out
"if I use libraries A, B and C, I can delete all boost directories
except X,Y,Z".

and make it a requirement for reviewed documentation to state its
dependencies.

>> 5) Macros.
>>
>> Need I say more. The core boost libraries are full of
>> macros. So much
>> in fact, that close examination makes many of them practically
>> unmaintainable.

a lot of the macro'ed code of boost that is really unreadable I think
is due to the lack of variadic template parameters. certainly MPL.

>> The main reason being compiler inadequacies.

that's just reality, and not related to the fact that boost "pushes
the envelope". boost has been around for a while and still has code
working around MSVC 6 bugs.

> There are certainly things that can be done to make Boost more
> accessible to more people. I'm sure all library authors will
> welcome constructive input from you and others with your concerns.
> (I expect patches will be still more welcome.)

this is unfortunately not my experience, that input or even patches
are welcome. I understand why that is the case, people got stuff to do.

but he has a point in that a boost library only has one maintainer and
isn't really a joint effort like other open source projects, even when
it is accepted into the official distribution.
this interacts with the fact that it is hard to contribute to boost
other than submitting a complete library. (see GSoC discussion)


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