|
Boost : |
Subject: Re: [boost] [c++11]
From: Niall Douglas (ndouglas_at_[hidden])
Date: 2013-06-17 10:45:40
> > The existing code base being prepared for entry into Boost is pure
> > C++11, or at least as much C++11 as is provided by the Nov 2012 CTP
> > experimental MSVC compiler and therefore easily supported by GCC 4.6 and
> clang 3.x.
>
> I hope that you do realize that the Nov12 CTP does not come with a go-live
> license, nor is recommended for any human consumption.
Meh. First preview of VS2013 is only a month away. Nov 2012 CTP is usefully
broken in ways easy to work around (parser bugs) rather than broken in
unhelpful ways (unreliable code generation). It fills a useful slot until
VS2013 arrives later this year.
> It seems quite odd to me to spend significant GSoC resources on making a
library
> that targets only two compilers, and assumedly a rather narrow set of
OSes.
Actually it targets three compilers (+clang). I might add that Boost.ASIO
only officially supports Windows, Linux, Solaris and OS X, and only the
compilers MSVC7.1 or later and g++ 3.3 or later. Some would say that is a
fairly narrow set in itself.
We'll be matching Boost.ASIO's official platform support, but adding
official support for FreeBSD 10 with clang and libcxx. In truth though it
ought to work on any OS providing a POSIX file i/o API with preadv() and
pwritev() which is the majority (including Windows via its MSVCRT
incidentally).
You may find
https://github.com/BoostGSoC/boost.afio/wiki/Status-of-proposed-Boost.AFIO
of interest. There it tells you how to get started with the proposed library
right now.
> Was this C++11-only requirement part of the original project plan, and why
> didn't anyone object to it then?
Yes, it was an original plan requirement. Having full fat C++11 (esp. the
C++11 standard library) to hand made the code and design *very* considerably
simpler and *much* easier to read (and therefore maintain) - in fact, there
is only 670 lines of active code. Judging from the presentations at C++ Now
2013, this simplification experience of pure C++11 is hardly unique: many
presenters commented on just how much their pure C++11 new versions of Boost
libraries were cleaner, simpler, faster to compile and faster performance,
and hugely more maintainable.
Given that we knew that VS2012 would get variadic templates later this year
(which it will in the form of VS2013), we decided to just go ahead with what
C++11 features will be available to > 90% of C++ users by the end of 2013.
That surely should satisfy the portability requirement, if not, then we'll
work backwards until we reach > 95% of C++ users or > 99% if Boost peer
review really, really wants it.
Niall
--- Opinions expressed here are my own and do not necessarily represent those of BlackBerry Inc.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk