Fascinating that Yossi Kreinin hates Boost libraries so much. I have had my share of problems with them (slooooooow compilation and horrible template compiler error messages, mainly), but the Boost.Spirit parser library turned out to have been a lifesaver. I needed to parse JSON in a C++ system, had Boost available, but could not realistically install any other external library dependencies. Well --- the TinyJSON (http://blog.beef.de/projects/tinyjson/) looks a little funky thanks to all the templates and operator overloading magic, but it works well and I dropped it into the system as a header file. Problem solved.
I'd make heavier use of Boost.Filesystem, too, but I'm stuck deploying with an older version of Boost which lacks a few essentials. I never understood the messiness of concatenating path strings by hand until I was forced to stop using os.path (Python) and java.io.File (Java, Clojure).
Templates taking too long to compile and producing ridiculous error messages is actually one of, if not the, major complaints Yossi has about C++, though. One of the rarely spoken of differences between C and C++ is that the latter has a ludicrously slower compile leg of the compile/edit/debug cycle, and once you start digging into it, the slowness of compilation is built into the language (basically, matching template specializations is computationally hard), and is not an artifact of so-called "poor implementations."
I'd make heavier use of Boost.Filesystem, too, but I'm stuck deploying with an older version of Boost which lacks a few essentials. I never understood the messiness of concatenating path strings by hand until I was forced to stop using os.path (Python) and java.io.File (Java, Clojure).