Bjorn Reese wrote:
On 10/14/2013 06:20 PM, Robert Ramey wrote:
The question - What is the value of undertaking this task.
I think that you are overlooking some of the major advantages of open source in your reasoning.
First, Boost users may need to investigate the Boost source code when the documentation and examples are insufficient for their tasks. The compiler workarounds makes this more difficult.
Second, Boost maintainers are less likely to receive patches from contributors because of the added complexity introduced by compiler workarounds. The compiler workarounds is the one of the main reason why I have decided not to contribute to Boost.Serialization.
Finally, compiler workarounds can generate incomprehensible compiler error messages when Boost users make mistakes in their own code. I have encountered several of these, although I cannot point you to concrete examples because I have not recorded them (they were temporary obstacles that I just needed to get past.)
I'm willing to concede that these points have value. But I don't think the cost has been adequately appreciated. Take for example MPL. This is an incredible work. It's implementation depends upon exploitation of compiler features which have been left undefined by the C++ standard or added in by vendors. A very tiny unobvious error could take days to track down. Who is going to do this? I realise that the answer to that question is - that won't happen. I think this underestimates the complexity of lot's of library code. Robert Ramey