Why C++ applications grow god classes, and how to structure one instead. Components with a lifecycle, a composition root in main(), and dependencies declared as types that the compiler checks, so the init and shutdown order is derived for you. Introduces keel, a single-header C++20 library built on these ideas.
C++ will eventually gain safer features, but Rust’s memory safety model is already here; and flourishing. In this article, we explore why C++ might arrive too late to the safe-by-default party, despite its vast legacy ecosystem.
It is natural to assume that proficiency in C++ directly translates to the ability to develop software in the language. However, the two are not always synonymous. The complexities of C++ pose challenges for software engineering. Simplicity is important for maintainability and long-term success in software engineering.