I believe understanding the history of C++ allows us to examine why it was created and how it expands on its predecessor, C because C++ was ultimately developed to serve a purpose.
Introducing C
The C language was developed in 1972 primarily as a systems programming language by Dennis Ritchie at Bell Telephone laboratories (a language to write operating systems with). Dennis Ritchie’s goals was to produce a minimalistic language that was:
- Easy to compile
- Allowed efficient access to memory
- Produced efficient code, and
- Was self-contained (not reliant on other programs)
- Gave the programmer significant freedom
ANSI C was released in 1989. This is called the C89 standard. In 1990, ISO adopted ANSI C. This version became C90. In 1999, C99 was developed.
C++ is born
(Firstly, I don’t know why it isn’t called C+).
C++ was developed by Bjarne Stroustrup at Bell Labs as an extension to C, starting in 1979. It can be thought of as the Pro version of C, adding new features such as objects, classes, templates and namespaces.
The biggest difference is that C++ supports OOP. This is what makes it a high-level language. C++ was actually called C with classes in it’s early days.
Five major updates to the C++ language (informally named C++11, C++14, C++17, C++20, and C++23) have been made since then, each adding additional functionality.
The last two digits represent the year of release.
As you have noticed, a new C++ version gets released every 3 years.