Boost logo

Boost :

Subject: Re: [boost] [review] The review of Boost.DoubleEnded starts today: September 21 - September 30
From: degski (degski_at_[hidden])
Date: 2017-09-27 14:12:19


On 27 September 2017 at 15:42, Edward Diener via Boost <
boost_at_[hidden]> wrote:

> The pool library has no official maintainer so it had been added to the
> CMT libraries. You would probably have gotten more response to your
> suggestion if pool had an official maintainer.

It's un-fortunately a sad state of affairs. What bugs me the most is
(nobody here to blame), that there are (on this list) on a regular basis so
many people stating they would like to "contribute" to Boost... and then,
there's silence.

> I do not think that is much proof that libraries tend to get "stuck" in
> their initial state, although it happens some of the time.

No proof intended, just examples... For some reason, lack of maintainers,
backward (binary) compatibility, things don't progress... And one ends up,
like you suggested below, doing ones' own thing.

> C++ inheritance often means that you can add functionality to a library
> via another library or your own one-off class(es).

Reason number one is simple, it's this rule: "Thou shall not inherit from
class xxx publicly in the absence of a virtual destructor as it effectively
prevents you from polymorphic use of descendants.", and this rule is
repeated over and over again. boost::pool does not have a virtual
destructor (trivial change, I agree, but that was what I was doing in the
first place!).

> But I agree that the initial notion that a library should have a well
> grounded design, although "minimal" is highly subjective, is a good one.
>

Getting back on the thread we are actually discussing, it seems to me that
there is a discrepancy between what Benedek proposes and how this library
is being reviewed (by some), that's the source of the subjectiveness you
are referring to, IMO. The idea (the way I see it) is not necessarilly that
the library will/or should be minimal and do the right thing all the time,
but that it should provide maximum control and potentially (when well used)
optimal performance. We are looking at control C-style. Yes, one can "shoot
ones' leg of". For me, that's understood from the outset. It's most
probably not a candidate for standardization, but, on the other hand, might
become quite popular with game- or HFT-app-developpers.

degski

-- 
"*Ihre sogenannte Religion wirkt bloß wie ein Opiat reizend, betäubend,
Schmerzen aus Schwäche stillend.*" - Novalis 1798

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