Re: C++11
"Jack Lloyd" <[email protected]>
| Newsgroups | gmane.comp.version-control.monotone.devel |
|---|---|
| Message-ID | <[email protected]> |
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