|
Boost : |
Subject: Re: [boost] C++03 / C++11 compatibility question for compiled libraries
From: Robert Ramey (ramey_at_[hidden])
Date: 2018-02-17 18:55:59
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
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk