Starting new C++ projects

I wanted to have a playground to try out new idioms and concepts (hah!) in C++, and it became an excuse to figure out what the right way (in my opinion) would be, given the enormous range of choices each step of the way.

I settled on two requirements: a good build system and a good standard library augmentation.

There are numerous build systems these days, but (blame familiarity here, I guess) I went with Bazel.

Similarly, familiarity led me to pick Abseil over (say) Boost or Folly.

To show how straightforward it can be these days to “just start making” something in C++, I made a small dummy program that has a single cc_binary rule and uses some basic string library functions.

(The real story is how amazing it is to have open-sourced versions of these, this setup would have been unthinkable just a couple of years ago!!)

Take a look here.

Leave a comment