
On 2/17/18 9:50 AM, Vinnie Falco via Boost wrote:
Coming into this thread late, but this is of relevance:
https://www.jetbrains.com/research/devecosystem-2017/cpp/ https://blog.jetbrains.com/clion/2017/10/jb-cpp-at-cppcon-2017/
66% regularly use C++11 46% don't plan to upgrade to a new C++ standard 21% regularly use C++03
41% mostly use C++11 <5% mostly use C++03 <3% mostly use C++98
I think investment in C++03 yields significantly diminished returns. And C++11 is simply the most popular version.
In light of this information, I would drop support for C++03 and require C++11 going forward.
What does "drop support" mean? a) libraries should fail to compile with C++03? Any library which does so should be considered "broken" in some sense? b) libraries should/must be implemented in C++11(+?)? Any library which isn't should/would be considered "broken" c) libraries should/must be compilable with C++11(+?)? Any libraries which don't would be considered broken. Currently boost only requires that libraries be consistent with the latest current standard - which would be C++17 now. So technically any library which doesn't compile with a standards conforming compiler would/should be considered broken. As it turns out, this doesn't isn't really much of a burden. The serialization library, first added to boost in (2004?) still functions with the latest standard with a little help from boost/config.hpp. Once in a while something breaks when a new compiler standard comes out. So far maintaining compatibility with the latest standard only requires an occasional trivial tweak to eliminate a a compile time error. C++ is good that way. Oh - and btw - still functions as well (or better) than it ever did with C++03. So from my standpoint the correct answer is c) And the current situation isn't broken and doesn't need any kind of fix. Robert Ramey