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
b) A staging area for libraries which are aimed at being included in the
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
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.
f) ... you're own view here.
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
Boost list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk