
Paul A Bristow wrote:
But there is another planet on which live nearly all 'amateur' programmers, scientists and engineers, sociologists, medics, electricians and plumbers ... me even ;-) who, if told that pi is a function, will assume you are joking and just head back to use a more sensible language.
I don't see why boost should be influenced by people who will make decisions so cavalierly.
They don't read or contribute to the Boost list, let alone understand! But they _ARE_ the 'customers'.
Perhaps I misunderstand, but I think you're talking about people who either do not even know about boost or, if they have, took one look and ran the other way. So I don't see them as being the customers. Or, if they're the ones you're targeting, why are you trying to place the library in boost, which clearly targets only the most sophisticated C++ programmers? 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. I am, in fact, one of the "amateur" programmers you refer to, and I myself find much of boost way too difficult to learn. Like everybody else, I'm sure if I had the time to study boost more carefully, I could use it effectively. But I don't. So I use only the parts I understand. 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. In particular, I am absolutely delighted to have stumbled onto a community of C++ programmers who understand the power of templates way better than I do. I am against "polluting" boost with code that compromises these principles, because it would re-introduce difficulties that boost helps me avoid. I am not against your different implementations of the constants library; I might even use them myself as a compromise. But I just don't think they belong in boost; I rely on boost as being a fairly uncompromising library that tries to remains true to its basic principles.