Chapter 1. Introduction

If you are doing C++ development and you enjoy templates and the STL, you'll want to know about the Boost Libraries. Boost is a C++ developer community which is creating a large collection of useful, free, source-code C++ libraries. Some of the most recognised and influential C++ developers are part of Boost, either as developers or contibuting as peer reviewers.

Due to this peer review process, and because of what happens when many eyes get to look at a piece of software and give constructive criticisms, the Boost libraries are well thought-out and employ many advanced C++ idioms. The code and ideas contained therein are quite useful and interesting.

Interestingly enough, C++ is one of those strange languages that seems to attract many of the more "theoretical"-type programmers. In fact, many modern C++ programming idioms have come about in spite of a lack of compilers that were able to fully compile the code snippets being demonstrated! The growth and interest in the language were out-pacing the ability of vendors to keep up with standards-conformant compilers. It is important to remember that this is a community that is rallying behind a language, and not a particular platform. As such, Boost tries to be as platform-agnostic as possible; so you might not find too much specific information on how to set it up for your particular environment.

Currently (as of version 1.29.0) Boost consists of roughly 50 separate modules which provide functionality above and beyond what is included with the C++ libraries (i.e. the STL).