C + + (pronounced "C plus plus") is a statically typed, free-form, multi-paradigm, compiled, created for the purpose programming language. C + + is considered as an intermediate-level language, because it consists of a combination of high-level language features and low-level languages​​. This language developed by Bjarne Stroustrup in 1979 at Bell Labs as an enhancement to the C programming language and originally named "C with Classes". It was renamed to C + + in 1983.

C + + is widely used in the software industry, and remains one of the most popular languages ​​ever created.

It started as an additional language to C, first adding classes, then virtual functions, operator overloading, multiple inheritance, templates and exception handling among other features. After years of development, C + + programming language standard was ratified in 1998 as ISO / IEC 14882:1998. standards are still used today, but changed in 2003 with the technical corrigendum, ISO / IEC 14882:2003. Next the standard version (known sa C + +0 x) is still under development.

History



Bjarne Stroustrup began work on the 'C with Classes' in 1979. The idea to create a new language originated from Stroustrup experience in programming for his Ph.D. thesis. Stroustrup found that Simula had features that are very helpful for large software development, but the language was too slow for practical use, while BCPL fast but too low level suitable for large software development. When Stroustrup started working at AT & T Bell Labs, he analyzed the problem of the UNIX kernel to distributed computing. Given the experience at the time of preparing his Ph.D. thesis, Stroustrup began to increase the C language with Simula features. C was chosen because it is for public use, fast, portable and widely used. Besides C and Simula, other languages ​​that inspired him were ALGOL 68, Ada, CLU and ML. At first, class, derived class, strong type checking, inlining, and default argument features added to C via Cfront. The first commercial release occurred in October 1985.
In 1983, the name of the language changed from C with Classes to C + + (+ + be the operator of an increase in C and C + +). New features 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 comment with two forward slashes (//). In 1985, the first edition of The C + + Programming Language was released, providing an important reference for the language, because there is no official standard. Release 2.0 C + + came in 1989. New features included multiple inheritance, abstract classes, static member functions, const member functions, and protected members. In 1990, The Annotated C + + Reference Manual was published. This work became the basis for future standards. Late addition of features included templates, exceptions, namespaces, new casts, and a Boolean type.
As a language C + + standard library also evolved with it. In addition to the first C + + standard library was the stream I / O library which provided facilities to replace the traditional C functions like printf and scanf. Then, among the most significant additions to the standard library, is the Standard Template Library.
C + + continues to be used and is one of the preferred programming languages ​​to develop professional applications.
Etymology
According to Stroustrup: "The name signifies the evolutionary nature of the changes from C". During the C + + in the development period, the language has been called the "New C", then "C with Classes". Last name is credited to Rick Mascitti (mid 1983) and was first used in December 1983.
Philosophy
In The Design and Evolution of C + + (1994), Bjarne Stroustrup describes some rules that he used for the design of C + +:
* C + + is designed to be statically typed, general purpose as an efficient and portable language with C* C + + is designed to directly and comprehensively support multiple programming styles (procedural programming, data abstraction, object-oriented programming and generic programming)* C + + is designed to give the programmer choice, even it allows the programmer to select one* C + + is designed to be compatible with C, thus providing a smooth transition from C* C + + avoids features that are not platform-specific or general purpose* C + + does not bring in overhead for features that are not used (with the "zero-overhead principle" Wink* C + + is designed to function without a sophisticated programming environment
In the C + + Object Model (Lippman, 1996) describes how the compiler can convert the C + + program statements into a layout in memory. Compiler writers, however, free to apply the standards in their own way.
Features
C + + syntax inherits most of C and C preprocessor. Here is a version of Bjarne Stroustrup Hello world program that uses C + + standard library stream facility to write messages to standard output:
# Include
int main (){std:: court <<"Hello, world! \ n";}

Comments (0)