According to Stroustrup,"the name signifies the evolutionary nature of the changes from C". 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.
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.The first commercial implementation of C++ was released in October of the same year. Release 2.0 of C++ came in 1989 and the updated second edition of The C++ Programming Language was released in 1991. 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.
Throughout C++'s life, its development and evolution has been informally governed by a set of rules that its evolution should follow:
Stroustrup began developing C++ in 1978 (then called "C with Classes"), and, in his own words, "invented C++, wrote its early definitions, and produced its first implementation... chose and formulated the design criteria for C++, designed all its major facilities, and was responsible for the processing of extension proposals in the C++ standards committee." Stroustrup also wrote what many consider to be the standard textbook for the language, The C++ Programming Language.
Stroustrup was the head of AT&T Lab's Large-scale Programming Research department, from its creation until late 2002. Stroustrup was elected member of the National Academy of Engineering in 2004. He is a Fellow of the ACM (1994) and an IEEE Fellow.
Stroustrup has a master's degree in mathematics and computer science (1975) from Aarhus University, Denmark, and a Ph.D. in computer science (1979) from the University of Cambridge, England, where he was a student at Churchill College. His thesis advisor in Cambridge was David Wheeler.