Home Rehab

Home Health Care

Home Health Care
Health Care Book Store > Health Care books beginning with C

More details of book titled: C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond

C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond

Author: David Abrahams
Published: 2004-12-20
List price: $54.99
Our price: $36.20
Usually ships in 24 hours
As of: March 11th, 2010 11:56:18 AM
Customer comments on this selection.

Health Care Good for gurus, too much for anyone else
This is basically thorough documentation for the Boost MPL. Not for the faint of heart (when it comes to C++ templates), and probably not of too much use except to C++ gurus-in-training and to library writers.

Health Care Unique material
Abrahams and Gurtovoy address a distinctive and little-known set of C++ features: behaviors of the template mechanism that go far beyond swapping "double" for "float." In fact, Lisp-like recursion, arithmetic, and list-processing features, all executed at compile time, give the C++ typing subsystem all the power of a Turing machine - but without such nice debugging features.

The authors base most of their discussion on the open-source Boost Meta-programming library (MPL), perhaps the most widely known and highly developed usage of this capability. Most of the discussion patiently describes this exotic set of capabilities, giving the reader a clear idea of what the library does and some idea of how the library does it. I came away a bit uncertain about the authors' purpose, though. I didn't see enough detail in describing the primitive C++ mechanisms for a reader to go off and use those primitives in new ways - this largely discusses the MPL library elements as black boxes, without a lot of detail about how they work. But, if the intended reader was meant to incorporate an existing library (like MPL) into an application, I didn't see enough in the way of practical examples or motivation. It's nice that API elements exist for handling lists like - but why? In what context do such lists arise? What useful work does this tool perform? Or is it just an idea book for an obfuscated C contestant?

Unless you've mastered the user-unfriendly documentation for Boost MPL or other libraries mentioned here, this really is the only book on the topic. I wish it covered everyday basics a bit better, for example checking that some class in a template parameter is derived from some other class. I look forward to the next reference on the topic, one that goes over internals of the library more thoroughly, or one that gives more examples of practical applications.

-- wiredweird

Four stars - but that might have been different if there were another book on the topic to compare it to.


Health Care It's about Metaprogramming
The operative word in the title is "Metaprogramming". If your looking for C++ template programming, your better off going elsewhere.

Metaprogramming is hard, uses an arcane syntax, and the compilers give you very little help. It's not for the faint of heart. BUT is this is where you want to go, then this is the book to have.

The authors take a very advanced complex topic and break it down to comprehensible chunks. They introduce you to the best metaprogramming library (Boost::MPL) and give you a comprehensive context to make useful applications.


Health Care Very good book
I am not a meta programming expert, however I learned a lot from this great book. I suggest first to read Alexandrescu's Modern C++ first and a learn basic techniques then get this book to be able understand the mpl better.

Health Care In depth, but not intuitive
I knew in purchasing this book that most of the time it would just be talking about the Boost MPL. That shouldn't be too bad - the Boost MPL is pretty much the fore-running meta-programming library, and there has to be lots of concepts in there to be learnt too, other than library specifics, right?
Right.
This book completely lives up to this explanation. Very quickly we are into the guts of the library, even within the beginner's tutorial section. There certainly is a LOT of concepts to be learnt and used, even if externally to the MPL.
However, I found that very quickly I was having to reread and triple-read passages to try and distil a principle from the library construct being explained. They principles are there, and are good, but I find that they are not presented distinctly enough from the library itself. This results in what feels like a lot of work to really understand the book (other than just know how to use the library).
I don't consider myself slow - I got through almost all of "Modern C++ Design" (by Alexandrescu) without having to go to a computer, but here I really felt like I NEEDED to try this stuff out on a computer and attempt the problems at the end of the chapter. This book is a lot of work - beware! - and particularly it is more than I feel should be necessary, if perhaps the authors allowed themselves more time to explain principles and concepts away from the interface of their library.
However, there is a lot of knowledge here that I don't think that you can find elsewhere, and it is a topic that is, by nature, a bit mind-bending, so I am still definitely happy with the purchase.


Our Health Care book picks:


Search the Health Care Products Store
Keywords:   


LCS Amazon Store 3.0 © 2010



Disclaimer:
This site does not treat, diagnose or assess medical conditions. We do not prescribe medication or provide medical advice. The opinions, information and resources contained within this site are for informational purposes only. This information is not medical practice nor medical advice. Before starting any type of medical progam, exercise program, change in lifestyle, or diet, consult your physician to determine the options best suited to your individual needs.

Health Care Home

Search for Products

Search for Books

Book Store Home