On 10 December 2014 at 14:58, Mathias Gaunard
On 06/12/14 15:25, gast128 wrote:
- source code is available but some of them are very hard to understand.
Part of this is due to the support of broken compilers, but there is also use of non obvious template or preprocessor magic.
Is usage of template and preprocessor techniques that problematic? Sure, it's possibly a programming paradigm you're not used to, but it shouldn't prevent taking over the code once you've learned or practiced with them.
I think there is too much mystification about Boost doing "magic", it's just normal C++ code, that any seasoned C++ programmer should be able to understand once he has taken the time to do so.
It's not just Boost - I've found a good deal of resistance to any 'non-obvious' code in safety-critical projects (I tried to get some code into a project that included template metaprogramming to optimise communications operations - I didn't succeed), which I can kind of understand. Without good documentation, it's not easy to pick up and, in addition, as all verification has to be performed by someone other than the person writing the code, the burden of understanding the code is required of several people, not all of whom are necessarily experienced C++ programmers (or C++ programmers at all, for that matter). Stuart