berbagi seputar ilmu pengetahuan dan teknologi

Sumber Pengetahuan C++

C++

From Wikipedia, the free encyclopedia
Jump to: navigation, search
C++
C plus plus book.jpg
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
  • Bjarne Stroustrup
  • Bell Labs
  • ISO/IEC JTC1/SC22/WG21

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++ (pronounced "see plus plus") is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features.[3] Developed by Bjarne Stroustrup starting in 1979 at Bell Labs, it adds object oriented features, such as classes, and other enhancements to the C programming language. Originally named C with Classes, the language was 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 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]

History


Bjarne Stroustrup, creator of C++
Bjarne Stroustrup, a Danish and British trained computer scientist, began his work on "C with Classes" in 1979.[4] The idea of creating 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 for 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 development. When Stroustrup started working in AT&T Bell Labs, he had the problem of analyzing the UNIX kernel with respect to distributed computing. Remembering his Ph.D. experience, Stroustrup set out to enhance the C language with Simula-like features. 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 typing, inlining, and default argument features were added to C via Stroustrup's C++ to C compiler, Cfront. The first commercial implementation of C++ was released on 14 October 1985.[10]
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
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 (informally known as C++98). For some years after the official release of the standard, the committee processed defect reports, and in 2003 published a corrected version of the C++ standard, ISO/IEC 14882:2003. In 2005, a technical report, called the "Library Technical Report 1" (often known as TR1 for short), 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++.
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++"

Back To Top