C + + is one of the most popular programming languages, language applications include the Sand software systems (like Windows), application software, drivers, embedded software, high-performance server and client applications and entertainment software such as video games. Several groups provide both free and proprietary software C + + compiler, including the GNU Project, Microsoft, Intel and Embarcadero Technologies. C + + has great influence on many other popular programming languages, including C # and Java.
C + + is also used for hardware design, where the design is described primarily in C + +, then analyzed, architectural limits, and planned to establish a register-transfer level hardware description language using high-level synthesis to create .
The language began as improvements to C, the first to add classes, virtual functions, operator overloading, multiple inheritance, templates and exception handling among other functions. After years of development, the C + + programming language standard was ratified in 1998 as ISO / IEC 14882:1998. This standard is still relevant, but has been amended by the 2003 technical corrigendum, ISO / IEC 14882:2003. The following standard version (known informally as C + +0 x, in reference to the long-standing expectation that it will ever be released in 2010) is in development, the final design was approved on March 25, 2011 and the formal specification is expected to be published in the summer of 2011.
Bjarne Stroustrup began work on "C with Classes" in 1979. The idea of a new language originated from Stroustrup's experience in programming for his Ph.D. thesis. Stroustrup found that Simula features very useful for large software development was, but the language was too slow for practical use, while BCPL was fast but too low to be suitable for large software development. When Stroustrup started working in AT & T Bell Labs, he had the problem of analyzing the UNIX kernel with respect to the distributed computing. Remembering his Ph.D. experience, Stroustrup looking for the C language with Simula-like features to improve. C was chosen because the general-purpose, fast, portable and widely used. Besides C and Simula, some other languages which inspired him were ALGOL 68, Ada, CLU and ML. Initially, the class, derived class, strong type checking, inlining, and default argument features added to C from Stroustrup's C + + to C compiler, Cfront. The first commercial implementation of C + + was released on October 14, 1985.
In 1983, the name of the language was changed from C with Classes to C + + (+ + operator, the increase in C). New features were added including virtual functions, function name and operator overloading, references, constants, user-controlled free-store memory control, improved type checking, and BCPL style single-line comments with two forward slashes (//). In 1985, the first edition of The C + + Programming Language was released, an important reference to the language, because there was no official standard for C + + version 2.0 came in 1989 and updated second edition of The C + + Programming Language was released in 1991. New features multiple inheritance, abstract classes, static member functions, const member functions, and protected members. In 1990, the C + + Annotated Reference Manual was published. This work became the basis for future standards. Late addition of features templates, exceptions, namespaces, new casts, and a Boolean type.
If the C + + language developed, evolved into the standard library. The first addition to the C + + standard library was the stream I / O library which provided facilities to the traditional C functions like printf and scanf to replace. Later, one of the most important additions to the standard library, had large quantities of the Standard Template Library.
C + + is called a hybrid language.
It is possible to object oriented or procedural code to write the same program in C + +. This has led to some concern that some C + + programmers still write procedural code, but are under the impression that the object-oriented, simply because they are using C + +. Often it is a merger of the two. This usually causes the most problems when the code again if the task is taken over by another decoder.
C + + are still used and is a favorite programming language to develop professional applications