About #cpp

What is C++?

Zero cost abstractions

But this requires a ton of language features.

18 different forms of initialisation.

And a 260 page book just to explain move semantic.

Needs proper tooling from day 1: clang-tidy, cppcheck, ASAN etc.

And the complete understanding of the guideline.

Because even modern c++ won’t save you.

Nothing will stop you from incorrectly assigning smart pointers.

Just as with raw pointers.

So you should write good code, don’t make mistakes.

This is a high risk, high reward game.

And when you make a mistake, it has nothing to do with the language design.

It’s because you are holding it wrong.

But what about your team members? Are they holding it wrong too?

C++ is great, made by a lot of smart people, but ask these questions before starting a new a project in it:

Clever abstractions are great, but always come with an overhead: complexity. Abstracted C++ programming can be efficient in performance, but can be very hard to maintain.

#cpp