C++
From Wikipedia, the free encyclopedia
![]() The C++ Programming Language, written by its architect, is the seminal book on the language. |
|
Paradigm(s) | Multi-paradigm:[1] procedural, functional, object-oriented, generic |
---|---|
Appeared in | 1983 |
Designed by | Bjarne Stroustrup |
Developer |
|
Stable release | ISO/IEC 14882:2011 (2011) |
Typing discipline | Static, unsafe, nominative |
Major implementations | C++ Builder, clang, Comeau C/C++, GCC, Intel C++ Compiler, Microsoft Visual C++, Sun Studio |
Dialects | Embedded C++, Managed C++, C++/CLI, C++/CX |
Influenced | Perl, LPC, Lua, Pike, Ada 95, Java, PHP, D, C99, C#,[2] Falcon, Seed7 |
OS | Cross-platform (multi-platform) |
Usual filename extensions | .h .hh .hpp .hxx .h++ .cc .cpp .cxx .c++ |
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 compiler to native code, its application domains include systems software, application software, device drivers, embedded software, high-performance server and client applications, and entertainment software such as video games.[7] Several groups provide both free and proprietary C++ compiler software, including the GNU Project, Microsoft, Intel and Embarcadero Technologies. C++ has greatly influenced many other popular programming languages, most notably C#[2] and Java. Other successful languages such as Objective-C use a very different syntax and approach 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 register-transfer level hardware description language via high-level synthesis.[8]
The language began as enhancements to C, first adding classes, then virtual functions, operator overloading, multiple inheritance, templates and exception handling among other features. After years of development, the C++ programming language standard was ratified in 1998 as ISO/IEC 14882:1998. The standard was amended by the 2003 technical corrigendum, ISO/IEC 14882:2003. The current standard extending C++ with new features was ratified and published by ISO in September 2011 as ISO/IEC 14882:2011 (informally known as C++11).[9]
Contents |
History
In 1983, the name of the language was changed from C with Classes to C++ (++ being the increment operator 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, providing an important reference to the language, as there was not yet an official standard.[11] Release 2.0 of C++ came in 1989 and the updated second edition of The C++ Programming Language was released in 1991.[12] 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 the future standard. Late feature additions included templates, exceptions, namespaces, new casts, and a Boolean type.As the C++ language evolved, the standard library evolved with it. The first addition to the C++ standard library was the stream I/O library which provided facilities to replace the traditional C functions such as printf and scanf. Later, among the most significant additions to the standard library, was a large amount of the Standard Template Library.
C++ is sometimes called a hybrid language.[13]
It is possible to write object oriented or procedural code in the same program in 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 usually causes most problems when the code is revisited or the task is taken over by another coder.[14]
C++ continues to be used and is one of the preferred programming languages to develop professional applications.[15]
Etymology
According to Stroustrup: "the name signifies the evolutionary nature of the changes from C".[16] 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 Mascitti (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 tongue-in-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. A joke goes that the name itself has a bug: due to the use of post-increment, which increments the value of the variable but evaluates to the unincremented value, C++ is no better than C, and the pre-increment ++C form should have been used instead.[17] There is no language called "C plus". ABCL/c+ was the name of an earlier, unrelated programming language. A few other languages have been named similarly to C++, most notably C-- and C#.Standardization
Year | C++ Standard | Informal name |
---|---|---|
1998 | ISO/IEC 14882:1998[18] | C++98 |
2003 | ISO/IEC 14882:2003[19] | C++03 |
2007 | ISO/IEC TR 19768:2007[20] | C++TR1 |
2011 | ISO/IEC 14882:2011[21] | C++11 |
The latest major revision of the C++ standard, C++11, (formerly known as C++0x) was approved by ISO/IEC on 12 August 2011.[22] It has been published as 14882:2011.[23] There are plans for a minor(C++14) and a major revision (C++17) in the future.[24]
C++14 is the name being used for the next revision. C++14 is planned to be a small extension over C++11, featuring mainly bug fixes and small improvements, similarly to how C++03 was a small extension to C++98. While the name 'C++14' implies a release in 2014, this date is not fixed.
Tag :
PENGETAHUAN
0 Komentar untuk "Sumber Pengetahuan C++"