Friday, 6 March 2015

The Origins of C++

C++ began as an expanded version of C. The C++ extensions were first invented
by Bjarne Stroustrup in 1979 at Bell Laboratories in Murray Hill, New Jersey. He
initially called the new language "C with Classes." However, in 1983 the name was
changed to C++.
Although C was one of the most liked and widely used professional programming
languages in the world, the invention of C++ was necessitated by one major programming
factor: increasing complexity. Over the years, computer programs have become
larger and more complex. Even though C is an excellent programming language, it has
its limits. In C, once a program exceeds from 25,000 to 100,000 lines of code, it becomes
so complex that it is difficult to grasp as a totality. The purpose of C++ is to allow this
barrier to be broken. The essence of C++ is to allow the programmer to comprehend
and manage larger, more complex programs.
Most additions made by Stroustrup to C support object-oriented programming,
sometimes referred to as OOP. (See the next section for a brief explanation of objectoriented
programming.) Stroustrup states that some of C++'s object-oriented features
were inspired by another object-oriented language called Simula67. Therefore, C++
represents the blending of two powerful programming methods.
Since C++ was first invented, it has undergone three major revisions, with each
adding to and altering the language. The first revision was in 1985 and the second in
1990. The third occurred during the standardization of C++. Several years ago, work
began on a standard for C++. Toward that end, a joint ANSI (American National
Standards Institute) and ISO (International Standards Organization) standardization
committee was formed. The first draft of the proposed standard was created on
January 25, 1994. In that draft, the ANSI/ISO C++ committee (of which I am a member)
kept the features first defined by Stroustrup and added some new ones as well. But in
general, this initial draft reflected the state of C++ at the time.
Soon after the completion of the first draft of the C++ standard, an event occurred
that caused the language to be greatly expanded: the creation of the Standard Template
Library (STL) by Alexander Stepanov. The STL is a set of generic routines that you can
use to manipulate data. It is both powerful and elegant, but also quite large. Subsequent to the first draft, the committee voted to include the STL in the specification for C++. The
addition of the STL expanded the scope of C++ well beyond its original definition. While
important, the inclusion of the STL, among other things, slowed the standardization
of C++.
It is fair to say that the standardization of C++ took far longer than anyone had
expected when it began. In the process, many new features were added to the language
and many small changes were made. In fact, the version of C++ defined by the C++
committee is much larger and more complex than Stroustrup's original design.
However, the standard is now complete. The final draft was passed out of committee
on November 14, 1997. A standard for C++ is now a reality.
The material in this book describes Standard C++, including all of its newest
features. This is the version of C++ created by the ANSI/ISO standardization
committee, and it is the one that is currently accepted by all major compilers

No comments:

Post a Comment