$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: [boost] What is boost: was New libraries implementing C++11 features in C++03
From: Robert Ramey (ramey_at_[hidden])
Date: 2011-11-23 14:09:33
question:What is Boost?
a) A collection of libraries to make as many C++ programmers as possible 
more productive?
b) A staging area for libraries which are aimed at being included in the 
standard library?
c) An area for expermenting with and testing new ways of using C++ to 
exploit novel ideas in software developement like functional programming, 
DSELs, etc.  (I know these aren't new ideas but implementing them within the 
compile time type system of a widely used language seems pretty novel to me)
d) A collection of "facades" to permit one to write one program/algorithm 
which will efficiently run accross different combinations of OS's and 
compilers
e) A vehicle for promoting C++ to a wider audience and promote quality 
software practices in general.
f) Provide the "definitive" implementation of commonly required components. 
example shared_ptr.
f) ... you're own view here.
answer: yes!
Do these goals conflict?  Personally I don't think so - but a case could be 
made that they do at least in some cases.  example: perhaps supporting 
portability encourages compiler vendors to postpon investment in compiler 
development.  and of course f) would preclude the inclusion of multiple 
libraries which do the same thing.
So I'm more of the view that we let stuff into boost as long at it meets 
quality standards.  Then let users decide.
I very much appreciate the documentation page which shows libraries grouped 
by functionality.  This page isn't on the website (it should be!).  I would 
like to see this page enhanced to include some more categories.
libraries to support C++11 like features for older compilers
libraries to support compatibility accross OS
    basically config which I use all the time for this purpose
libraries which exploit C++11 and make no claim to backward compatibility. 
(and of course the test matrix needs to be adjusted to distinguish these - 
config as well
I forsee a messy transitional stage which a lot of old libraries start to 
fail with C11x and lot's of older user code can't incorporate some libraries 
and much confusion as to what one can and cannot do. To remain a practical 
resource for many organizations we can't just say - sorry if you can't 
change compilers.
Robert Ramey