Boost logo

Boost :

From: Victor A. Wagner Jr. (vawjr_at_[hidden])
Date: 2005-04-18 12:43:50

At Monday 2005-04-18 03:55, you wrote:
>In-Reply-To: <[hidden]>
>vawjr_at_[hidden] (Victor A. Wagner Jr.) wrote (abridged):
> > do you keep all versions of your compiler around forever?
>Pretty much. We don't keep them in VCS though. We don't treat them as
>source code because, well, they are not source code.

I was unaware that a version control systems was only for source (most use
it that way, though). When attempting to build a previous version of a
product (to reproduce bug reports) it is often necessary to get the tools
that were then in use.

> (Switching to a
>different compiler vendor would be a much bigger deal than adopting boost
>so this comparison probably isn't helping your case.)

Unfortunately, the version control system we use, doesn't handle multiple
repositories very well(not for the same project). Therefore I'm kinda
"stuck" with using the repository provided by boost itself (which occupies
0 space on our machines).

> > >I didn't want to include anything I couldn't see an immediate use for.
> >
> > a true forward looking point of view.
>That sounds like sarcasm.

It was, I apologize.

> I've already explained how it is easier to add
>stuff that was missed that to delete stuff that shouldn't have been added.
>Also, with broadband internet, the boost documentation so accessible from
>the web site that it doesn't need to be added locally.

Your ISP must be somewhat more reliable than mine. They always seem to be
doing maintenance just about the time I need to look something up.

> > actually you don't need to "understand it" to use it, anymore than you
> > need to understand the workings of the transmission in the auto you
> > drive.
>I do need to understand the documentation before I use it, and in the
>example I cited the documentation is long and complex.

I concur, some of the documentation is almost worthless, IMO. Reference
materials are wonderful, but every once in a while one would like to start
with a tutorial (one of the reason's I'm so fond of "The C++ Standard
Library" by Nicolai Josuttis). To this day, I can make no sense of some of
the documents.

>Also, I need to debug code, and that often does require understanding how
>it works. I must be a car mechanic as well as a driver.

to that end, as another has pointed out, one of the problems is all the
#ifdef that hang around solely because the compiler vendors have been loath
to produce a conforming compiler.
I would really like to see an collection of (call them reference designs if
you wish) all the Boost files with NO conditional code, just pure standard
(I suppose I could wait until C+0x, but I'd rather not) C++. I've pointed
out many times before that continuing support for ancient compilers (my
favorite to pick on is Microsoft VC++6.0) costs all of us, not just the
person who has clients that won't upgrade (folly, IMO) and volunteers to
keep _his_ library working on what should have been a dead horse years ago
(mixed metaphors are my specialty).

> > I find it difficult to believe that min and or max got "redefined" such
> > that they became unusable (I'm pretty sure it would have shown up in
> > the regression testing. I recall no such incident).
>The root problem, as I thought we'd agreed, is that Microsoft wrongly
>defines them as macros. This means code like:
> long x = max( 1L, 1 );
>works. I found that #including boost reverted to the standard-conforming
>definition, which meant the above became ambiguous as the 2 arguments have
>different types.
>Don't let's pay this issue more attention than it deserves. I doubt boost
>can do any better than it is doing, here.

I don't see any way out either. Some days I think hanging on to all that
old C heritage is just an impediment to getting where we need to go.

>-- Dave Harris, Nottingham, UK.
>Unsubscribe & other changes:

Victor A. Wagner Jr.
The five most dangerous words in the English language:
               "There oughta be a law"

Boost list run by bdawes at, gregod at, cpdaniel at, john at