@vlad i think i have developed a high respect for your point of view. What you just said is true. Infact, it is my reason for asking this question.
I said so because 1) I meet very often complaints against this book from beginners; 2) I read the book myself and I can confirm that the book from the methodical point of view is very and very bad for beginners.
You should take into account that Straustrup is weak as a practical programmer. It is enough to mention that due to his petty tyranny programmers over the world were lost such useful algorithm as copy_if.
Straustrup is a theoretic of programming. So his books are full of philosophic reasoning. It is not what beginners need.
std::copy_if was excluded from the C++ 2003 Standard due to personal efforts of Straustrup and he is writing about this in this book. Did you read this book?
Must have been a different book. PPP says: "Thanks to a mistake I made, this algorithm is missing from the 1998 ISO Standard. This mistake has now been remedied, but you can still find implementations without copy_if. lf so, just use the definition from this section".
His personal efforts back then were to turn all of STL into the standard library requirement, not the opposite.
More importantly, Stroustrup does not teach theory. His goal is to bridge the gap between what people learn in college as programming and what is needed to work as a programmer.