This post is an introduction to C++.
C++ is an adaptation of C to the object-oriented paradigm.
It was originally developed by Bjarne Stroustrup.
C++ Versions and Standards
There are different standard versions of C++. Each version is standardized through an ISO/IEC standard.
There is an ISO C++ Committee that work on the standardization. The official name is ISO/IEC JTC1/SC22/WG21 , but it is commonly referred as WG21 (Working Group 21).
C++ Source Editors and IDEs
List of C++ Source Editors and IDEs:
- Code::Blocks
- Eclipse IDE
- Visual Studio Code
- CLion
Code::Blocks
Code::Blocks is a crossed-platform IDE for C/C++ and FORTRAN.
It is Free and Open-Source Software (FOSS), under a GPL-v3.0-only license.
Eclipse IDE
Eclipse IDE is a multi-language IDE.
It is Free and Open-Source Software (FOSS), under an Eclipse Public License.
There are special installation packages for C/C++, like Eclipse IDE for C/C++ Developers and Eclipse IDE for Embedded C/C++ Developers.
Visual Studio Code
Visual Studio Code is an editor developed by American company Microsoft.
CLion
CLion is a dedicated Integrated Development Environment (IDE) for C and C++. It is developed by Czech company JetBrains.
Unlike other JetBrains tools like IntelliJ and PyCharm, there is no community edition for this software. Nevertheless, it can be free for student and development of open-source projects, though you need to request it anually.
Learning C++
There are different webs that offer resources to learn C++.
W3 Schools
C++ Security
In 2023, The White House published a report where it warned about memory management-related security issues of C and C++, and recommended other languages like C#, Go
Bjarne Stroustrup replied to this assertion, and mentioned some C++ security improvements on this external link.
He mentions Profiles, “a framework for specifying what guarantees a piece of code requires and enable implementations to verify them”. It “is a framework that allows us to incrementally improve guarantees—e.g., to eliminate most range errors relatively soon—and to gradually introduce guarantees into large code bases through local static analysis and minimal run-time checks”.
“There are documents describing that on the committee’s website—look for WG21—and more are coming” .