monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Monotone-devel] C++11


From: Jack Lloyd
Subject: Re: [Monotone-devel] C++11
Date: Wed, 14 May 2014 11:08:20 -0400
User-agent: Mutt/1.5.23 (2014-03-12)

On Tue, May 13, 2014 at 08:09:47PM +0200, Markus Wanner wrote:

Hi Markus,

> What are your plans for botan 1.10.x? Does that branch keep getting
> bug-fixes after the 1.12.0 release? (I guess so, but don't remember
> reading a policy or roadmap or the like on your website.)

I plan to maintain 1.10 at more or less the current level of support
(which is essentially: fixing bugs as they are reported but with
little to no new development work) for an extended period with 2.0
being a parallel stable track, until at least a majority of distros
have switched.

It's worth keeping in mind it may well be another year or more before
a new stable tree even happens, there are a lot of open projects I'd
like to work on before committing to supporting things for the long
haul.

> Regarding the new standard: What was your experience with the switch to
> C++11, so far? Would you recommend the monotone project to switch?

I think C++11 is somewhat deceptive in that many of the changes seem
trivial and 'just' save you some extra typing (auto, range-for,
lambdas, and non-static member initializers in particular come to mind
in this class) but I've found they can offer a huge advantage in
productivity vs C++98. Writing C++11 can often feel more like writing
Python or ML than C++98. As a basically solo developer with only
intermittent time for side projects anything that enhances my ability
to get something done is welcome - I expect monotone is in a somewhat
similar situation in that sense.

IMO the most generally useful addition to the language is rvalue
references; even applications which don't use them directly benefit
from its use in the standard library, and where applicable they can
definitely help performance. As Monotone spends a good bit of time
moving around memory blos I expect you could see some great wins
here.

The reduced set of compilers that support C++11 is a mixed bag. It is
unfortunate, in terms of reducing portability, but wonderful for
setting a much higher bar for compiler quality. Not having to worry
about weird bugs in GCC 3.4 or Visual C++ 2008 anymore is nice. One
other problem is the tool ecosystem (ffi generators, static analyzers,
and so on) has not yet caught up to support C++11, though that's
started to get better in the last year or so.

The library additions are nice but are probably less essential if you
already are relying on boost. As previously botan did not use boost,
getting the sudden addition of std::function, a portable threading
library, regexes, shared_ptr, and so on was a huge help.

Cheers,
  Jack



reply via email to

[Prev in Thread] Current Thread [Next in Thread]