On Fri, Oct 30, 2020 at 2:34 PM Alex Kowalenko <[email protected]> wrote:
> Hi I've been looking for a replacement for Bankivity and stumbled upon > this project, and have been starting to use it to trial it out, and have > been reading the plans for V3, and the use of C++. I agree with your > decision not to use Go, and I found it somewhat similar, and in the end the > pedantic error handling in Go drove me away. > > I read some of your comments on C++, and I support the decision to use it. > You said that you want to use a basic level of the language for portability > reasons. I am sure that most of the popular compilers for C++ (gcc, clang, > MSC) on most platforms fully support C++11, and even now C++17 is mostly > implemented and the STL to C++17. I am not sure whether portability is a > reason to hold you back to a basic level of the language. Strong typing and > speed is a positive over Python. > Yes, I could expound on that a bit, but essentially, there is a section of the C++ universe that's trying way too hard to do everything at compile-time (e.g. with meta-programming). The Boost library suffers from this disease, in particular. I think it's a bit of a "macho" thing for some of my peers from finance. I don't mind the occasional template here and there, but I think this project's performance requirements are quite modest (given the right implementation) and I'd rather trade-off the simplicity and ease of long-term maintainability you get by keeping to a basic set or primitives & dependencies. Using all the latest whizzbang may be cool to look at, but the ultimate goal is to keep things straightforward enough that long-term maintenance is possible (like, this shouldn't be a place where I spend many hours every week if I'm going to maintain it for another decade, which I intend to). > Keep up the good work, > Thanks Alex! > Alex > > > On Saturday, 4 July 2020 at 7:34:50 am UTC+1 [email protected] wrote: > >> Hi, >> Today I'm starting development on Beancount v3. >> >> This is going to be a pretty big change and will take a while. >> I've laid down the details in this document: >> >> https://docs.google.com/document/d/1qPdNXaz5zuDQ8M9uoZFyyFis7hA0G55BEfhWhrVBsfc/ >> <https://docs.google.com/document/d/1qPdNXaz5zuDQ8M9uoZFyyFis7hA0G55BEfhWhrVBsfc/edit#> >> >> This file describes the new set of dependencies for it: >> >> https://docs.google.com/document/d/10R-msZljuqFY8nckUnR1jVxMX1ol7rJUCMZo7w7QUQs/ >> <https://docs.google.com/document/d/10R-msZljuqFY8nckUnR1jVxMX1ol7rJUCMZo7w7QUQs/edit#> >> >> And there is a dedicated installation file for the in-development version: >> >> https://docs.google.com/document/d/1WwZYqsp28Uuk5eFqHQ1u1zqdjghymy8S_Yo-OJENoa4/ >> <https://docs.google.com/document/d/1WwZYqsp28Uuk5eFqHQ1u1zqdjghymy8S_Yo-OJENoa4/edit#> >> >> The short version is that v3's core is going to be ported to C++ using a >> Bazel build, and the codebase will be sectioned between core and the rest. >> I just merged the new build definition in master. >> >> The current head will be branched as "v2" and maintained stable. >> It will build with both setup.py and Bazel. >> Backward compatible fixes to it will be done there and merged into v3. >> v3 development will occur on branch "master" and breaking changes will >> occur there. >> >> Comments appreciated (on the docs, or here if you prefer), >> >> -- > You received this message because you are subscribed to the Google Groups > "Beancount" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/beancount/b6c23a73-d543-424b-80cb-61728ff87dd4n%40googlegroups.com > <https://groups.google.com/d/msgid/beancount/b6c23a73-d543-424b-80cb-61728ff87dd4n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "Beancount" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/beancount/CAK21%2BhNRFY94i2wRsu%3Do_JHrtcjhRXgUtZvM7TNhh32DOCEmyQ%40mail.gmail.com.
