The history of C ++ is interesting. Here we will discuss a short history of C ++ programming language.
Programming languages that were developed before C++
|1972||Traditional C||Dennis Ritchie|
|1978||K & R C||Kernighan & Dennis Ritchie|
In 1979, when Bjarne Stroustrup was working on his Ph.D. thesis. One of the languages with which Stroustrup had the opportunity to work was a language called Simula, which, as the name suggests, is a language primarily intended for simulation. The Simula 67 language – which was the variant with which Stroustrup collaborated – is considered the first language supporting the object-oriented programming paradigm. Stroustrup discovered that this paradigm was very useful for software development, but Simul’s language was too slow for practical use.
Shortly thereafter, he began working on “C with classes”, which, as the name suggests, was supposed to be a superset of C language. His goal was to add object-oriented programming to C, which was and still is a language respected for its portability without sacrificing speed or low the level of functionality. His language included classes, basic inheritance, insertion, default function arguments, and strong type checking in addition to all C language functions.
The first C compiler with classes was called Cfront, which was derived from the C compiler called CPre. It was a program designed to translate C with the Classes code to plain C. The interesting point to note is that the Cfront was written mainly in C from Classes, which makes it a self-hosting compiler (a compiler that can compile). The confrontation would later be abandoned in 1993, when it was difficult to integrate new functions with it, namely the C ++ exceptions. Nevertheless, Cfront has had a huge impact on the implementation of future compilers and the Unix operating system.
In 1983, the name of the language was changed from C to Classes to C ++. The ++ operator in C is the operator for increasing the variable, which gives some insight into the way Stroustrup treated the language. During this time, many new functions have been added, the most noteworthy being virtual functions, function overloading, references with the & symbol, the const keyword, and one-line comments using two slashes (which is a function derived from the BCPL language)).
In 1985, Stroustrup’s reference to the language called C ++ Programming Language was published. In the same year C ++ was implemented as a commercial product. The language has not yet been officially unified, which makes the book a very important reference. The language was re-updated in 1989 to include protected and static members as well as inheritance from several classes.
In 1990, The Annotated C ++ Reference Manual was released. In the same year, Borland’s Turbo C ++ compiler will be released as a commercial product. Turbo C ++ added a lot of additional libraries that would have a significant impact on C ++ development. Although the last stable version of Turbo C ++ was in 2006, the compiler is still widely used.
In 1998, the C ++ Standardization Committee published the first international standard for C ++ ISO / IEC 14882: 1998, which would be informally known as C ++ 98. It was said that the Annotated C ++ Reference Manual has a major impact on the development of the standard. Also included was the Standard Template Library, which began its conceptual development in 1979. In 2003, the Commission responded to many of the problems that were raised with the 1998 standard and corrected them accordingly. The changed language was called C ++ 03.
In 2005, the C ++ Standards Committee published a technical report (named TR1), which lists the various features that they planned to add to the latest C ++ standard. The new standard was informally named C ++ 0x because it was expected to be released before the end of the first decade. Ironically, the new standard will not be released until mid-2011. Until that time, several technical reports were released, and some compilers began to add experimental support for new features.
In mid-2011, a new C ++ standard (named C ++ 11) was completed. The Boost library project had a significant impact on the new standard, and some new modules came directly from the relevant Boost libraries. Some of the new features included support for regular expressions (details on regular expressions can be found here), an extensive randomization library, a new C ++ time library, atom support, a standard thread library (which until 2011 both C and C + were missing +), new syntax for loops that provides functionality similar to foreach loops in some other languages, auto keyword, new container classes, better link support and array initialization lists, and variable templates.