History of C++

In this article we are going to discuss the Evolution or History of C++. The journey of C++ had a little history. C, the predecessor to C++, has become one of the most popular programming languages. Originally designed for system programming. C enables programmers to write efficient code and provided close access to the machine. C compilers, found on practically every UNIX system, are now available with most operating systems. C was developed by Dennis Ritchie at Bell laboratories and was first put to use in 1972. Later on, a standard version of C was in great demand and so in 1983 a technical committee ANSI (“American National Standard Committee on Computer and Information Processing“) standardized the C.

Bjarne Stroustrup is a Danish computer scientist, most notable for the creation and development of the widely used C++ programming language. He is currently a Professor in the Engineering college of Computer Science at Texas A&M University. Stroustrup began developing C++ in 1979 (then called “C with Classes”).

Stroustrup began work on ‘C with Classes’ in 1979. The idea of 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 the 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.

C was chosen because it was general-purpose, fast portable, and widely used. Besides C and Simula, some other languages that inspired him were ALGOL 68, Ada, CLU, and ML. At first, the class-derived class, strong type checking, inlining, and default argument features were added to C via Cfront. The first commercial release occurred in October 1985. In simple words, Bjarne has combined the effective features of both powerful languages like SIMULA 67 and C to develop C++.

Originally as C++ was known as C with classes, it does not support the concept of operator overloading, run time polymorphism(Virtual Functions), etc. In 1983, the name of the language was changed from C with Classes to C++ (++ being the increment operator in C and C++). New features were added including virtual functions, function names, operator overloading, references, constants, user-controlled free-store memory control, improved type checking, and BCPL-style single-line comments with two forward slashes (//). All these features were borrowed from algorithm language i.e. ALGOL 68.

During the 1980s and into the 1990s, explosive growth in object-oriented technology began with the introduction of the Smalltalk language Object-Oriented Programming (OOP) begin to replace the more traditional structured programming techniques. This explosion led to the development of languages that support programming with objects. Many new object-oriented programming languages appeared: Object-Pascal, Modula-2, Mesa, Cedar, Neon, and Objective-C. LISP with the Common List Object System (CLOS), and, of course, C++. Although many of these languages appeared in the 1980s, many ideas of OOP were taken from Simula-67 since 1967.

Development of C++

In the simplest sense, if not the most accurate, C++ can be considered to be a better C. Although it is not an entirely new language, C++ represents a significant extension of C abilities. C++ supports essentially every desirable behavior and most of the undesirable ones of its predecessor, but provides general language improvements as well as adding OOP capability. Using C++ does not imply that one is using the utility of OOP. The structured code can be created that uses only C++’s non-OOP features. C++ was initially designed to manage very large programs, it is in no way limited to this use. In fact, the object-oriented attribute of C++ can be effectively applied to virtually any programming task.

C++ is used to create big projects like Editors, Databases, personal files system, and communication programs. Stroustrup wanted to combine the best of both languages to create a more powerful language that could support Object Orientation and still retain the power and elegance of C. Therefore C++ was a major addition to the original C language. It was named C with Classes, however, later in 1983, the name was changed to C++.

The idea of C++ comes from the C increment operator ‘++’, thereby suggesting that C++ is an advanced or incremented version of C. As the C++ language evolved, a standard library also evolved with it. The first addition to the C++ standard library was the stream I/O library which provided facilities to replace the traditional C functions such as printf and scanf. Later, among the most significant additions to the standard library, was the Standard Template Library. C++ continues to be used and is still one of the preferred programming languages to develop professional applications.

Always Remember:

  1. OOP has been around since 1967.
  2. In the name C++, ‘++’ means it is an advanced and incremented version of C.
  3. C++ has been revised twice, the first time in 1985 and then in 1989.
  4. C is a middle-level language but C++ is a partial object-oriented language.
  5. C++ is used to design very large programs.


Highly motivated, Hard-working, and Resourceful Programmer. I Love To Explain And Teach Technology, Solve Tech Problems And Learn Something New Every Day.

Leave a Reply