As the Standard C++ Foundation works to improve the C++ programming language, two C++ experts want to ensure the success of the language among developers. The C++ Core Guidelines was introduced two years ago by C++ creator Bjarne Stroustrup and C++ expert Herb Sutter. It is an open source project aimed at building modern authoritative guidelines for writing C++ code. The goal is to help organizations easily incorporate the guidelines into their own corporate coding guidelines.

The guidelines are meant to be an introduction into code base, and are focused on high-level issues such as interfaces, resource management, memory management, and concurrency instead of low-level issues like naming conventions and indentation style.

“This document is a set of guidelines for using C++ well. The aim of this document is to help people to use modern C++ effectively. By “modern C++” we mean C++17, C++14, and C++11. In other words, what would you like your code to look like in 5 years’ time, given that you can start now? In 10 years’ time?” the authors write in the guidelines.

According to Stroustrup and Sutter, the guidelines are still in early draft and is currently still incomplete and filled with a lot of bad formatting. The two authors are hoping that by opening the document up to the GitHub community, they will receive comments and suggestions for improvements. They have also made the project available to “friendly users” as they hope for constructive input. The goal is to modify and extend the document so the language can be understood as well as improving the set of available libraries.

Additional problems include the set of rules not being checked for completeness, consistency, or enforceability, missing information which indicates triple question marks. Also, the pre C++ 11 sources are too old and the reference sections needs to be updated.

Top 5 projects trending on GitHub this week:

  1. Rough: A light weight Canvas based library for drawing in a sketch, hand-drawn-like style.
  2. Driver.js: A vanilla JavaScript engine to drive the user’s focus across the page.
  3. Scrcpy: An application that allows users to display and control their Android device.
  4. BitwiseAn educational project that teaches users how to create the software/hardware stack from scratch.
  5. Mpvue: If you speak Chinese? Maybe you can tell me what this project is about 🙂