
Gennadiy Rozental wrote:
More flexible solution is not nesseserility more complex.
I agree. I'm not saying that flexibility is to be avoided. It's just something to be careful with. As you say, it requires good modeling.
I'm not saying that flexibility or genericity is bad. But it comes with a price.
What kind of price? Perforamce, usability, space?
End-users work in a problem domain with its own vocabulary and semantics. Libraries / frameworks such as boost have their own, and so there's already a potential for an impedance mismatch. The more a user is required to learn about aspects unrelated to his own problem domain just because the tools he wants to use are generic and applicable to a broad range of domains the larger is this gap. It's a trade-off. Regards, Stefan