1.0 History of C++
C++, also pronounced as cee plus plus, is a programming language which has imperative, object-oriented and genetic programming features ,providing facilities for low-level memory manipulation. The creator of C++ is a Danish computer scientist named Bjarne Stroustrup. He began his work on C++’s predecessor “ C with Classes” in 1979. The motivation for creating a new language originated from Stroustrup’s experience in programming for his Ph.D. thesis. He also work with a language called Simula but the language was too slow for practical use. So, he began work on “C with Classes” , which as the name implies was meant to be a superset of C language. Strong typing, inlining and default argument features were added to C via Stroustrup’s “C with Classes” to C compiler,Cpre.( Albatross. (2000). History of C.)
The first C with Classes compiler was called Cfront. This compiler was derived from Cpre. It was a program designed to translate C with Classes code to ordinary C. Cfront was written mostly in C with Classes which making it a self-hosting compiler. Cfront was later be abandoned in 1993 because it became difficult to integrate new features onto it, namely C++ exceptions. However, Cfront made a huge impact on the implementations of future compilers and on the Unix operating system.
In 1983, C with Classes was renamed to C++.The ++ operator in the C language is an operator for incrementing a variable. New features were added such as function name and operator overloading, references, virtual functions, constants, type-safe free-store memory allocation, improved type checking, and BCPL style single-line comments with two forward slashes(//), as well as the development of a proper compiler for C++, Cfront.
In 1985, the first edition of The C++ Programming Language was released In the same year, C++ was implemented as a commercial product. The language was not officially standardized yet, making a very important reference. In 1989, the language was updated. C++ 2.0 was released. New features in 2.0 include multiple inheritance, abstract classes, static member functions, const member function, and protected members.
In 1990, The Annotated C++ Reference Manual was published. In the same year, Borland’s Turbo C++ compiler would be released as a commercial product. Turbo C++ added a plethora of edition libraries which would have a considerable impact on C++’s development. Even though Turbo C++ last stable release was in 2006 but the compiler still widely used.
In 1998, the C++ standards committee published the first international standard for C++ ISO/IEC 14882:1998, which also known as C++98. The Annotated C++ Reference Manual was said to be a large influence in the development of the standard. It also included The Standard Template Library which began its conceptual development in 1979. In 2003, the committee responded to multiple problems that were reported with their 1998 standard, and revised it accordingly. The changed language was dubbed ISO/IEC 14882:2003, known as C++03. (Albatross. (2000). History of C.)
In 2005, a technical report was made by C++ standard committee. They were planning to add various features to the latest C++ standard. The new standard was informally dubbed C++0x as it was expected to be released sometime before the end of the first decade. However, the new standard would not be released until the mid-2011 due to several technical reports and some compilers began adding experimental support for the new features.( Albatross. (2000). History of C.)
In 2011, C++11 was released, adding numerous new features, enlarging the standard library further, providing more facilities to C++ programmers. Some of the new features included regular expression support, a comprehensive randomization library, a new C++ time library, atomics support, a standard threading library, a new for loop syntax providing functionality similar to foreach loops in certain languages, the auto keyword, new container classes, better support for unions and array-initialization lists, and variadic templates.( Albatross. (2000). History of C.)