C++ is an incredibly powerful systems language, designed to write good abstractions with no overhead. It is one of my favorite languages to program in because it feels like a high level language while at the same time allowing the programer to think about the underlying system. However, it is a very large language and can therefore be overwhelming to learn. As Bjarne Stroustrup, one of the founders of the language once stated:
Within C++, there is a much smaller and cleaner language struggling to get out.
In this series, I will try to talk about the core principles behind modern C++, or that “smaller and cleaner language” he refers to. I will have code snippets to demonstrate the concepts, but the posts will largely be conceptual and less tutorial-esque. You should already be familliar with C/C++ – this series will just level up your ability to write C++ code. All posts in this series will be tagged with learn-cpp so they are easy to find.
In addition to these posts, here are a few great resources you should check out if you’re currently learning C++: