Re:Why do C++ folks make things so complicated?
by CJefferson on Saturday December 31, 2011 @05:44AM
(#3410651)
First of all, my original post was writen late at night, and I should perhaps have given more care to it.
There are some good parts of boost. shared_ptr, bind and regex are now in the C++ standard library.
uuid is an interesting example, as it really doesn't have any reason to be 'in' boost. It is a small, self-contained library which (I understand) does one thing very well. In any other language it would just be in the standard package repository. However, for some reason in C++, instead everyone wants to get into this one bundle of packages.
The problem is, because boost is monolithic, the temptation to developers is to start pulling in some boost::spirit, or boost::phoenix. I find these libraries fascinating from the point of view of what can be achieved in C++, but for day to day maintenance they cause serious problems.
The problem (which I could have better articulated) is that the messier, templated parts of boost end up being seen as 'best practice', or libraries that people should use. I wold much prefer something which lets me easily install just uuid, or boost::optional (another great tiny boost library).
There are of course various solutions. I could install a stripped-down boost, or just introduce strict coding standards.
There are some good parts of boost. shared_ptr, bind and regex are now in the C++ standard library.
uuid is an interesting example, as it really doesn't have any reason to be 'in' boost. It is a small, self-contained library which (I understand) does one thing very well. In any other language it would just be in the standard package repository. However, for some reason in C++, instead everyone wants to get into this one bundle of packages.
The problem is, because boost is monolithic, the temptation to developers is to start pulling in some boost::spirit, or boost::phoenix. I find these libraries fascinating from the point of view of what can be achieved in C++, but for day to day maintenance they cause serious problems.
The problem (which I could have better articulated) is that the messier, templated parts of boost end up being seen as 'best practice', or libraries that people should use. I wold much prefer something which lets me easily install just uuid, or boost::optional (another great tiny boost library). There are of course various solutions. I could install a stripped-down boost, or just introduce strict coding standards.