Boost logo

Boost :

From: Lassi A.Tuura (lassi.tuura_at_[hidden])
Date: 2005-05-16 12:54:02


Hi,

I don't generally post to this list, but I think this warrants a
comment.
> As some recent postings to this list have indicated, it is probably
> true that MOST C++ programmers, and not just the physicists, avoid
> templates and the idioms used and promoted by boost.
>
> On the other hand, the boost libraries have never, as far as I can
> tell, compromised on interfaces to accommodate programmers who don't
> like templates or modern C++ idioms.

ROOT voice is one. Mine is another, nowhere near as negative about
template as ROOT. I think there are many good uses for templates,
there are good uses for most tools. No tool is the best solution for
every problem, and the same goes for templates.

I find boost code close to impenetrable, and I am pretty good with C++.
  I have no doubt I can fully understand the code if I take the time --
but is that good use of my time? In comparison, I can take a glance of
Qt-based code and immediately understand what it does. So as
functional as boost is, I rarely suggest it to be used at my current
work, it's rarely worth the investment required. There are exceptions,
but they are not many and tend to be from the simpler variety.

The set of things that can be used as black boxes, without needing to
know the internals, is small and grows very slowly. (Witness how long
it takes for example for std::vector to get into mainstream code.)
 From my point of view, a good engineer takes the people along them
giving them all the time what they need -- a few paces ahead, not a
whole marathon ahead.

> Why should the constants library be any different? Why should boost
> give physicists special consideration that most C++ programmers do not
> get?

There is nothing extraordinary about it. A library is designed for
clients, and it's sound to listen to what they desire. If they don't
like the product, they'll use something else. That may or may not
matter to you.

Lassi

--
What we have here is a case of too many pieces of software trying to
outsmart each other and the user loses.  --Robert Lipe

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk