History of C++/Cpp programming in brief

History of C++
The C ++ programming language has a history that was going back in 1979, when Bjarne Stroustrup was in his Ph.D. Was working for. Thesis. There was an opportunity to work with one language from Strastrup, a language that was called Simula, as the name suggests is that it is mainly a language designed for simulation. The Simula 67 language - was the version with which Strastrup worked - it is considered as the first language to support object-oriented programming paradigm. Strostrupt found that this paradigm was very useful for software development, although Simula's language was very slow for practical use.

Shortly after, he started work on "C with Classes", which means that the meaning of the name was a super-language superset. Their goal was to add object-oriented programming to C language, which is a well-respected language for their portability without sacrificing speed and lower-level functionality. Apart from all the features of C language, their language included classes, basic heritage, inlineing, default function logic and strong type of investigation.

The first C with the Classes compiler was called Cfront, which was taken from the C compiler named CPre. It was a program that was called C as normal Code was designed to translate with C. The noteworthy thing is that Cfront was written mostly in C with C, from which it is a self-hosting compiler (a compiler that can compile itself). Cfront was later abandoned in 1993 because it added difficulty in integrating new features, i.e. C ++ Exceptions Nonetheless, the implementation of future compiler and Cfront made a huge impact on the Unix operating system.

In 1983, the name of the language was changed from C to Class C ++. The ++ operator in C language is an operator to increase a variable, which gives some information about how Strostrup understood the language. Several new features have been added around this time, the most notable of which are the two function slash (which is the feature taken from the BCPL language) in terms of virtual functions, function overloading, and symbols with symbols, constable keywords and single-line comments. .

In 1985, the reference to Strostrup was published in the language titled C + programming language. In the same year, C ++ was implemented as a commercial product. The language was officially not yet standardized, making the book a very important reference. The language was updated again in 1989 in which protected and stable members were included, as well as inherited from many sections.

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 ++ has added masses of additional libraries that will have a great impact on the development of C ++. Although the last stable release of Turbo C ++ was in 2006, the compiler is still widely used.

In 1998, the C ++ Standard Committee published the first international standard for C ++ ISO / IEC 14882: 1998, which will be informally known as C ++ 98. The annotated C ++ reference manual was said to have had a major effect in the development of the standard. The Standard Template Library, which started its conceptual development in 1979, was also included. In 2003, the committee responded to many problems which were reported with their 1998 standard, and accordingly modified it accordingly. Changed language C ++ 03 was dubbed.

In 2005, the Committee of C ++ Standards released a Technical Report (Dub TR1) in which he was giving details of various features he was planning to include in the latest C ++ standard The new standard was unofficially termed C ++ 0x as it was expected to be released sometime before the end of the decade. Ironically, however, the new standard will not be released until mid-2011. Several technical reports were released until then, and some compilers started adding experimental support for new features.

In mid-2011, the new C ++ standard (dubbed C ++11) was over. The Boost Library Project had a great impact on the new standard and some new modules were obtained directly from the Boost Library. Some new features include regular expression support (details can be found here on regular expressions), a comprehensive Randomization Library, a new C ++ Time Library, Atomics Support, a Standard Threading Library (which is both C and C ++ Some other languages ​​have a new, auto keyword, new container classes, unions and losers for loop syntax, which provide similar functionality to the front loop. Better support and Varedik template for leading-initialization lists.