history

Contributor:fish Type:English Date time:2011-06-05 13:09:38 Favorite:90 Score:0
返回上页 Report
请选择举报理由:




Collection Modify the typo
Bjarne Stroustrup, a Danish computer scientist, began his work on C++'s predecessor
"C with Classes" in 1979.[7] The motivation for 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.[8]
C was chosen because it was general-purpose, fast, portable and widely used. As well as
C and Simula's influences, other languages also influenced C++, including ALGOL 68, Ada,
CLU and ML.
Initially, the class, derived class, strong typing, inlining and default argument
features were added to C via Stroustrup's "C with Classes" to C compiler, Cpre.[9]
In 1983, it was renamed 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, type-safe free-store memory allocation (new/delete),
improved type checking, and BCPL style single-line comments with two forward slashes (//),
as well as the development of a proper compiler for C++, Cfront.
In 1985, the first edition of The C++ Programming Language was released, which became
the definitive reference for the language, as there was not yet an official standard.[10]
The first commercial implementation of C++ was released in October of the same year.[7]
In 1989, C++ 2.0 was released, followed by the updated second edition of The C++ Programming
Language in 1991.[11] New features in 2.0 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. Later
feature additions included templates, exceptions, namespaces, new casts, and a boolean type.
After the 2.0 update, C++ evolved relatively slowly until, in 2011, the C++11 standard was
released, adding numerous new features, enlarging the standard library further, and providing
more facilities to C++ programmers. After a minor C++14 update, released in December 2014,
various new additions are planned for 2017.
Etymology
According to Stroustrup: "the name signifies the evolutionary nature of the changes from C".[12]
This name is credited to Rick Mascitti (mid-1983)[9] 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. The name 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.
During C++'s development period, the language had been referred to as "new C" and "C with
Classes"[9][13] before acquiring its final name.
Philosophy
Throughout C++'s life, its development and evolution has been informally governed by a set
of rules that its evolution should follow:[8]
It must be driven by actual problems and its features should be useful immediately in real
world programs.
Every feature should be implementable (with a reasonably obvious way to do so).
Programmers should be free to pick their own programming style, and that style should be
fully supported by C++.
Allowing a useful feature is more important than preventing every possible misuse of C++.
It should provide facilities for organising programs into well-defined separate parts,
and provide facilities for combining separately developed parts.
No implicit violations of the type system (but allow explicit violations; that is, those
requested by the programmer).
User-created types need to have the same support and performance as built-in types.
Unused features should not negatively impact created executables (e.g. in lower performance).
There should be no language beneath C++ (except assembly language).
C++ should work alongside other existing programming languages, rather than fostering
its own separate and incompatible programming environment.
If the programmer's intent is unknown, allow the programmer to specify it by providing
manual control.
声明:以上文章均为用户自行添加,仅供打字交流使用,不代表本站观点,本站不承担任何法律责任,特此声明!如果有侵犯到您的权利,请及时联系我们删除。
Hot degree:
Difficulty:
quality:
Description: the system according to the heat, the difficulty, the quality of automatic certification, the certification of the article will be involved in typing!

This paper typing ranking TOP20

用户更多文章推荐