Subject: Re: [boost] "boost cold shoulder" (was proposal for #pragma oncesupport)
From: Robert Jones (robertgbjones_at_[hidden])
Date: 2009-06-11 03:38:24
On Wed, Jun 10, 2009 at 5:27 PM, Daniel Frey <d.frey_at_[hidden]> wrote:
> As maintainer of the Boost.Operators library and long-time Boost user and
> contributor I don't think we lack "charity" or something. The crucial point
> to understand what we are doing is this:
> We need to *balance* interests.
> What you and others (Christian S.) seem to miss is the fact that you can
> not just solve one problem and create another. Especially if that means to
> put the burden on other people.
> #pragma once is controversial because it's *not* just a no-brainer which
> "Makes Life Better.". Granted, it may make your life better. Even that of
> other VC++ users. But it creates more maintenance work, as we still need
> include guards for those compilers that don't support it, so the code won't
> get simpler, it will become more complex. It might also introduce new bugs
> for headers that may be included multiple times.
> If you use configuration macros, you need to include the configuration
> headers for each header that has an include guard/#pragma once. Increases
> compile-time, complexity, ...
> Coming from a VC++ perspective, you might not be aware of the drawbacks
> (because you *replace* your include guards with #pragma once) and that's OK,
> but please don't imply malice if we don't agree to your suggestions and
> ideas immediately. And please respect that fact that all perspectives need
> to be considered. We aim to solve all problems and drawbacks involved, and
> this is probably why it's so much work and why it is so hard. We don't
> compromise easily, which sometimes might look unhelpful. We nitpick on
> details, we explicitly try to find the holes in your ideas, etc.
> OTOH, I think this is what creates Boost's excellence. This is why Boost
> produced so many incredibly valuable things that even become standardized.
> It's the crucial difference to other libraries.
> That said, ask yourself: What could help to move the idea/suggestion on?
> How can you address/solve the drawbacks others see? Could we somehow combine
> include guards/#pragma once via macros to automatically make sure
> inconsistencies can't occur? What else can be done? Generally:
> Be constructive, improve you ideas/suggestions.
> That's the way to successfully participate in Boost, not by implying malice
> to others.
Most eloquently put Daniel - I wonder if it would be possible to include the
gist of that
text in some Boost header page or introductory page somewhere? There's a
there that it would be useful to capture.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk