C with Classes
- Initially, in 1979, Bjarne Stroustrup developed the predecessor of C++ which was called "C with Classes".
- This "C with Classes" which extends the C language had new features like classes, member functions, inline functions, derived classes, default arguments, constructors, destructors, etc which are basic building blocks for Object-oriented programming.
- After 3 years, in 1982, he began to develop the successor of "C with Classes" and it was named C++.
- In 1985, a standalone compiler for C++ was developed by Stroustrup and it was called Cfront.
- New features like virtual functions, function and operator overloading, references, efficient way for memory allocation using new/delete operators were included in the language.
- In addition to the language, the library was developed which includes iostream for input/output operations, strings and complex.
- The 1st edition of "The C++ Programming Language" book was released, which became a De facto standard as there was no official standard until now.
- In 1989, Cfront 2.0 was released which introduced new features like multiple inheritances, static member functions, const member functions, protected members, abstract classes, etc to the Language.
- In 1990, "The Annotated C++ Reference Manual" was published which laid the foundation for the features which were introduced in the future Standards.
- In 1991, the 2nd edition of "The C++ Programming Language" book was published, and Cfront 3.0 was released.
To know more about C++ Standardization check out our next article on C++ Standardization.
If you are a beginner and want to learn C++ as your first programming language, then you can start your journey with us.
C++ is not a difficult language if you learn it in a proper way, always use the latest materials that cover the latest features of the language.
Learning a programming language is to become good at developing new systems and also to maintain the legacy systems. After learning C++, it is easy to learn similar programming languages like Java, C# or other interpreted languages like Python.
International Organization for Standardization
- In 1991, the "International Organization for Standardization" (ISO) C++ committee was formed.
- ISO is responsible for organizing conferences to discuss standardization of the language, to accept the proposals for new features of the language.
- As a result of this Standardization, the language doesn't belong to a single vendor.
- All the vendors try to implement the standards provided by ISO.
- As the name indicates, this ISO standard was ratified and published for C++ programming language in 1998 as ISO/IEC 14882:1998.
- New features like the dynamic cast, other cast operators, bool type, template instantiations, mutable, etc were introduced.
- New features like containers, algorithms, iterators were added to the STL.
- In the same year, in 1998, the 3rd edition of "The C++ Programming Language" book was published.
- In 2003, there was a minor version of the C++ Language released by ISO as ISO/IEC 14882:2003.
- A new feature like value initialization was introduced and other bugs were fixed.
- In 2011, the second major version of the language which had larger changes was released as ISO/IEC 14882:2011
- New features like auto, nullptr, scoped enums, constexpr, decimal floating-point, and many more were introduced.
- New Standard Library features like general-purpose smart pointers, threading facilities, hash tables, regular expressions etc were introduced.
Since 2011, C++ is on a 3-year release cycle where a new standard will be released every 3 years
- In 2014, another major version of the language was released as ISO/IEC 14882:2014.
- New features like relaxed constexpr restrictions, return type deduction for functions, variable templates, binary literals etc were introduced.
- New Standard Library features like shared mutexes and locking, Standard user-defined literals, Tuple addressing through types, etc were introduced.
- In 2017, another major version of the language was released as ISO/IEC 14882:2017.
- New features like nested namespaces, fold expressions, if constexpr, inline variables, and many more were introduced to the language.
- The most recent version of the C++ was introduced in 2020, as ISO/IEC 14882:2020.
- With lots of features introduced (we will discuss in detail later in the course), modern C++ is being made much easier to program and develop software.
- The upcoming C++ standard is going to be C++23 with lot of other improvements and new features.
This article was a brief introduction to the C++ standards and not a detailed explanation of the features introduced. For now, don't worry about understanding the features. We will introduce all the necessary concepts for learning C++ in the upcoming articles and detail every feature in the advanced sections.