Vous êtes sur la page 1sur 3

C++ (pronounced "see plus plus") is a statically typed, free-form, multi-paradig m, compiled, general-purpose programming language.

It is regarded as an intermed iate-level language, as it comprises a combination of both high-level and low-le vel language features.[3] Developed by Bjarne Stroustrup starting in 1979 at Bel l Labs, it adds object oriented features, such as classes, and other enhancement s to the C programming language. Originally named C with Classes, the language w as renamed C++ in 1983,[4] as a pun involving the increment operator. C++ is one of the most popular programming languages[5][6] and is implemented on a wide variety of hardware and operating system platforms. As an efficient comp iler to native code, its application domains including systems software, applica tion software, device drivers, embedded software, high-performance server and cl ient applications, and entertainment software such as video games.[7] Several gr oups provide both free and proprietary C++ compiler software, including the GNU Project, Microsoft, Intel and Embarcadero Technologies. C++ has greatly influenc ed many other popular programming languages, most notably C#[2] and Java. Other successful languages such as Objective-C use a very different syntax and approac h to adding classes to C. C++ is also used for hardware design, where the design is initially described in C++, then analyzed, architecturally constrained, and scheduled to create a regi ster-transfer level hardware description language via high-level synthesis.[8] The language began as enhancements to C, first adding classes, then virtual func tions, operator overloading, multiple inheritance, templates, and exception hand ling among other features. After years of development, the C++ programming langu age standard was ratified in 1998 as ISO/IEC 14882:1998. The standard was amende d by the 2003 technical corrigendum, ISO/IEC 14882:2003. The current standard ex tending C++ with new features was ratified and published by ISO in September 201 1 as ISO/IEC 14882:2011 (informally known as C++11).[9] Contents [hide] 1 History 1.1 Etymology 1.2 Standardization 2 Philosophy 3 Standard library 4 Language features 4.1 Operators and operator overloading 4.2 Templates 4.3 Objects 4.4 Polymorphism 5 Parsing and processing C++ source code 6 Compatibility 6.1 Exported templates 6.2 With C 7 Criticism 8 See also 9 References 10 Further reading 11 External links [edit]History

Bjarne Stroustrup, creator of C++ Bjarne Stroustrup began work on "C with Classes" in 1979.[4] The idea of creatin g a new language originated from Stroustrup's experience in programming for his Ph.D. thesis. Stroustrup found that Simula had features that were very helpful f or large software development, but the language was too slow for practical use, while BCPL was fast but too low-level to be suitable for large software developm ent. When Stroustrup started working in AT&T Bell Labs, he had the problem of an alyzing the UNIX kernel with respect to distributed computing. Remembering his P h.D. experience, Stroustrup set out to enhance the C language with Simula-like f

eatures. C was chosen because it was general-purpose, fast, portable and widely used. Besides C and Simula, some other languages that inspired him were ALGOL 68 , Ada, CLU and ML. At first, the class, derived class, strong type checking, inl ining, and default argument features were added to C via Stroustrup's C++ to C c ompiler, Cfront. The first commercial implementation of C++ was released on 14 O ctober 1985.[4] In 1983, the name of the language was changed from C with Classes to C++ (++ bei ng the increment operator in C). New features were added including virtual funct ions, function name and operator overloading, references, constants, user-contro lled free-store memory control, improved type checking, and BCPL style single-li ne comments with two forward slashes (//). In 1985, the first edition of The C++ Programming Language was released, providing an important reference to the lang uage, since there was not yet an official standard.[10] Release 2.0 of C++ came in 1989 and the updated second edition of The C++ Programming Language was relea sed in 1991.[11] New features included multiple inheritance, abstract classes, s tatic member functions, const member functions, and protected members. In 1990, The Annotated C++ Reference Manual was published. This work became the basis for the future standard. Late feature additions included templates, exceptions, nam espaces, new casts, and a Boolean type. As the C++ language evolved, the standard library evolved with it. The first add ition to the C++ standard library was the stream I/O library which provided faci lities to replace the traditional C functions such as printf and scanf. Later, a mong the most significant additions to the standard library, was large amounts o f the Standard Template Library. C++ is sometimes called a hybrid language.[12] It is possible to write object oriented or procedural code in the same program i n C++. This has caused some concern that some C++ programmers are still writing procedural code, but are under the impression that it is object oriented, simply because they are using C++. Often it is an amalgamation of the two. This usuall y causes most problems when the code is revisited or the task is taken over by a nother coder.[13] C++ continues to be used and is one of the preferred programming languages to de velop professional applications.[14] [edit]Etymology According to Stroustrup: "the name signifies the evolutionary nature of the chan ges from C".[15] During C++'s development period, the language had been referred to as "new C", then "C with Classes". The final name is credited to Rick Mascit ti (mid-1983) and was first used in December 1983. When Mascitti was questioned informally in 1992 about the naming, he indicated that it was given in a tonguein-cheek spirit. It stems from C's "++" operator (which increments the value of a variable) and a common naming convention of using "+" to indicate an enhanced computer program. There is no language called "C plus". ABCL/c+ was the name of an earlier, unrelated programming language. [edit]Standardization Year C++ Standard Informal name 2011 ISO/IEC 14882:2011[16] C++11 2007 ISO/IEC TR 19768:2007[17] C++TR1 2003 ISO/IEC 14882:2003[18] C++03 1998 ISO/IEC 14882:1998[19] C++98 In 1998, the C++ standards committee (the ISO/IEC JTC1/SC22/WG21 working group) standardized C++ and published the international standard ISO/IEC 14882:1998 (in formally known as C++98).[citation needed] For some years after the official rel ease of the standard, the committee processed defect reports, and published a co rrected version of the C++ standard, ISO/IEC 14882:2003, in 2003. In 2005, a tec hnical report, called the "Library Technical Report 1" (often known as TR1 for s hort), was released. While not an official part of the standard, it specified a number of extensions to the standard library, which were expected to be included in the next version of C++. Support for TR1 is growing in almost all currently maintained C++ compilers. The latest major revision of the C++ standard, C++11, (formerly known as C++0x)

was approved by ISO/IEC on 12 August 2011.[20] It has been published as 14882:20 11.[21]

Vous aimerez peut-être aussi