
Tom Brinkman wrote:
I have identified 5 key issues about why boost was abandoned.
1) Boost uses exceptions. 2) Printf versus Iostream.
Shucks, a hardcore C++ library doesn't cater too well for C programmers!
3) Dependencies.
Agreed, its a mess
4) Research Projects
Yup, agreed.
5) Macros
Well, that's what you get from trying to buil header only solutions with templates when some old-fashioned inheritance would have done. I agree. stlsoft stuff is the same. Personally I much prefer Poco and from what you've said I think you would too - but I find myself wanting ASIO and Botan uses Boost and so does qpid - and to be honest there are useful things like tuple and it can be hard to entirely avoid it.
int value = atoi("3.00");
Except that this is actually a piss-poor example isn't it? - because an input that isn't well formed is not detected by atoi, which is why you have to use strtol and check what the endptr is doing - but no-one every does that right, every time. Which is why exceptions are there.
all over your code. Many developers will simply ignore this issue and end up with lots of code that is not exception safe.
Sure, but its the same ones who use atoi. They probably don't check for EINTR either.
Boost needs to start providing printf style api's.
Try fastformat?
4) Many boost libraries seem more like they research projects. The prevailing view is that boost libraries push the envelope of what is possible.
This is universally considered a good thing and it is always interesting to see what the best and brightest are up too.
Certainly not universally considered a good thing here, somewhat the opposite. :-( I think maybe Boost should look to partition itself into 'general purpose' libraries and a number of application-oriented libraries, and then look at the stability/maturity within those. But its already fragmented, so there is a possibility to make life even worse here. In many respects I think Boost displays some of the worst aspects of open source development, with a tendency to include things 'because I can and its really clever' rather than 'because you need it to do your mundane little project'. At the end of the day its a volunteer model and they don't actually work as well as a model with leadership, vision - and budget. Which is arguably why qt is in the ascendent now. Perhaps we should all just put principle aside and learn to moc. I do agree with a lot of what you say - but not pleasing C programmers! James