
Lassi A.Tuura wrote:
I have nothing against physicists or other C++ programmers who find templates and boost way too obscure or complex to use and choose to stick with older techniques that they know how to use effectively. [...] But what I like about boost a lot is that it adheres relatively well to a core set of principles and idioms that fit very well with my programming style. [...] I am against "polluting" boost with code that compromises these principles, because it would re-introduce difficulties that boost helps me avoid.
Do I read you correctly that you actually say templates are an essential part to every design in boost? I must admit such an approach would never occur to me, I have always thought one picks a technique applicable to the problem, and sometimes it's the 100-year old version that does the best job. "One hammer doesn't fit all screws" they say :)
I'm sorry for not being clear. Not every part of boost uses templates, but templates are used quite extensively in boost. I think boost does try to use the best technique applicable to each problem. For the vast majority of the problems addressed by boost, templates play a crucial role. Before I found boost, I was starting to discover the power of templates in my own programming, and I was very happy to find a group of real C++ programmers (unlike me) who already understood this better than me, had developed libraries I needed, and made them far more bulletproof than I am capable of. If boost had done all of this without templates, I would have been just as happy, but, as it happens, templates do provide a crucial tool.