C++
Our editors will review what you’ve submitted and determine whether to revise the article.
C++, version of the traditional C programming language augmented with object-oriented programming and other features. C++ is an “intermediate-level” language, meaning that it facilitates “high-level” programming—i.e., in the abstract—and “low-level” programming of actual hardware. This utility at both ends of the programming spectrum has made C++ useful for many systems requiring careful allocation of memory, such as Web browsers, search engines, video games, movie effects, financial tools, flight software, and space-exploration equipment. However, C++ is one of the more-challenging programming languages to apply on a large scale.
Danish computer scientist Bjarne Stroustrup began developing the new programming language shortly after joining the technical staff at Bell Laboratories in 1979. Stroustrup’s interest emerged from his experience as a doctoral student at the University of Cambridge, where he was unable to find a language he considered suitable for large software development. The language Simula 67 offered the object-based programming and other programmer-friendly features that Stroustrup coveted but ran too slowly to handle large-scale work, whereas the language BCPL compiled at the necessary speed but lacked Simula’s features. By adding aspects of Simula to the traditional C language without decreasing the speed prized by C users, Stroustrup struck an efficient balance between hardware access and abstraction. The new language was originally called “C with Classes” and nicknamed “new C,” the former to advertise the modular organization with which it allowed programmers to write.
However, by 1982, Stroustrup was disenchanted with his creation, judging it incapable of ever gaining enough popularity to support its continued development without his assistance. He decided the language simply lacked enough improvement over the original C to merit the investment of time and energy necessary for adopting it. Faced with the choice of either abandoning the project or improving it, Stroustrup chose the latter, beginning work in 1983. A new compiler, Cfront, was written to replace the one that C with Classes had inherited. Stroustrup also added Simula’s concept of virtual functions, ALGOL 68’s operator overloading, and other attributes new to C.
In December 1983 Stroustrup’s coworker Rick Mascitti suggested calling the new language C++. The name is a twofold reference: first, the plus sign is a common indicator of program enhancement in programmer culture; and second, the symbol ++ in B-derived programming languages is an incremental operator of one, so C++ literally means “C plus [features].”
Another coworker of Stroustrup’s, Al Aho, suggested that Stroustrup turn the written work that he had generated thus far into a book akin to Brian Kernighan and Dennis Ritchie’s The C Programming Language. Stroustrup wrote The C++ Programming Language in nine months, and the book was published in 1985, the same year that C++ became commercially available outside Bell Laboratories.
C++ became popular among programmers. According to Stroustrup’s estimates, a year after its release roughly 2,000 programmers worldwide used C++, and that number more than doubled every year thereafter, reaching 50,000 by 1989. Version 2.0’s debut that year further fueled the language’s rapid adoption by improving space optimization, increasing the overall “safety” of the language (i.e., instituting guardrails against various errors), and implementing important new features, such as multiple inheritance and abstract concepts. By October of 1991, C++ compiler supplier Borland reported that it had filled 500,000 orders, and more than 60 additional English-language books on C++ were in circulation.
In 1988 Stroustrup was looking ahead to the task of formally standardizing C++ and popularizing its definition. He set to rewriting a second and more-comprehensive manual with the input of the C++ community. When AT&T hired author Margaret Ellis to write an improved C++ manual, Stroustrup offered to combine efforts with Ellis to produce one definitive work. The result of their teaming up, The Annotated C++ Reference Manual (1990), was the standard reference for C++ programmers throughout most of the 1990s.
A standards committee operating under the auspices of the International Organization for Standardization (IOS) formed shortly thereafter in 1991, and it standardized C++ in 1998 with the update C++98. Another update followed in 2003, when C++ was the most-looked-for language on Web search engines.
Since 2011, a new version of C++ has been released every three years. As of 2022, the language is used by an estimated four million programmers, making it one of the most-popular programming languages in the world.