Book review: Boost C++ Application Development Cookbook

Boost C++ Application Development Cookbook

Recipes to simplify your application development

Boost C++ Application Development Cookbook

Author:

Antony Polukhin

Pages:

438

Published by:

Pack Publishing 2017

  • Topics

    C++, program options, containers, smart pointers, functional helpers, type-erased objects, regular expressions, filesystem, multithreading, asio, compile-time & metaprogramming, platform support.

  • Level - Medium

    This book is for programmers with some experience. It requires basic knowledge about classes, inheritance and templates (including metaprogramming).

Review

Boost C++ Application Development Cookbook by Antony Polukhin is an introductory book into the world of Boost libraries. It’s purpose is not to be a complete handbook for advanced usages, but rather a set of problems with solutions where lack of modern C++ standard (C++11 and above) can be quite problematic for the average programmer without the help of Boost.

Topics in the book include:

  • utilities (type-erasure, optional, array, etc.),
  • smart pointers and RAII,
  • converting and casting,
  • compile-time programming,
  • multithreading,
  • strings and regular expressions,
  • metaprogramming,
  • containers,
  • platform support,
  • system programming,
  • overview of other Boost libraries.

Each chapter has the same structure. There is an introduction to the problem, which is hard or impossible to solve without the external library (or newer C++ standard). Then we have the “Getting ready” section in which author lists what you should already know in order to understand and benefit from the recipe. After that there is the meat of the chapter in a form of “How to do it” section. Here Antony gives you a strait solution to the problem. If you are not interested or don’t need explanation of what is going on there, then you can go right to the next recipe. However if something is not clear, then there is a follow-up section called “How it works” in which author goes deeper into the details and explains how given Boost library works or even how it is implemented. Finally, there are “There’s more” and “See also” sections which contain some additional comments or remarks and point to the documentation.

Content of the book is concrete and very professional. Every time a new item is presented, author informs about the name of the Boost library that is used and lists the required headers. This is quite handy, because sometimes it is hard to check what is required in order to use a given feature. Every topic is filled with specific examples, which are simple enough to understand the core of the solution without the usual Boost overwhelm. If currently described module is already available in the C++ standard, then it is clearly noted (including subtle differences, which occur from time to time).

Summing up, I think Boost C++ Application Development Cookbook is a great companion for a “legacy” programmer and an eye-opener for someone who has never heard about the Boost. Author’s great experience in the subject (Antony Polukhin contributes to many Boost libraries) is a tremendous asset of the book. In many places we can find valuable comments, which lead to better understanding of the C++ standard implementation.

What I liked about the book

  1. Book is easy to understand.
  2. There are many topics/problems never mentioned in other books.
  3. Author clearly shows which parts of the Boost library are already included in newer C++ standards and what are the differences.
  4. Implementation details of the included examples are very inspiring on their own and help to reason about the STL structure.
  5. Code snippets are so useful, that can be copied directly into your project.

What I didn't like about the book

  1. I missed the exercises after each chapter.