Saturday, 12 May 2012



The Design and Evolution of C++
C++ was designed and implemented by Bjarne Stroustrup (the author of this article) at AT&T Bell Laboratories
to combine the organizational and design strengths of Simula with C’s facilities for systems programming.
The initial version of C++, called ‘‘C with Classes’’ [Stroustrup,1980], was first used in 1980;
it supported traditional system programming techniques (§3) and data abstraction (§4.1). The basic facilities
for object-oriented programming (§4.2-4.3) were added in 1983 and object-oriented design and programming
techniques were gradually introduced into the C++ community. The language was first made
commercially available in 1985 [Stroustrup,1986] [Stroustrup,1986b]. Facilities for generic programming
(§4.4) were added to the language in the 1987-1989 time frame [Ellis,1990] [Stroustrup,1991].
As the result of widespread use and the appearance of several independently-developed C++

implementations, formal standardization of C++ started in 1990 under the auspices of the American
National Standards Institute, ANSI, and later the International Standards Organization, ISO, leading to an
international standard in 1998 [C++,1998]. During the period of standardization the standards committee
acted as an important focus for the C++ community and its draft standards acted as interim definitions of
the language. As an active member of the standards committee, I was a key participant in the further evolution
of C++. Standard C++ is a better approximation to my ideals for C++ than were earlier versions. The
design and evolution of C++ is documented in [Stroustrup,1994] [Stroustrup,1996] and [Stroustrup,1997b].
The language as it is defined at the end of the standardization process and the key design and programming
techniques it directly supports are presented in [Stroustrup,1997].

No comments:

Post a Comment