The Birth, history and need for C++

By: Emiley J Viewed: 153226 times    

During the late 1970s and early 1980s, C became the dominant computer programming language, and it is still widely used today. Since C is a successful and useful language, you might ask why a need for something else existed. The answer is complexity. Throughout the history of programming, the increasing complexity of programs has driven the need for better ways to manage that complexity. C++ is a response to that need. To better understand why managing program complexity is fundamental to the creation of C++, consider the following.

Approaches to programming have changed dramatically since the invention of the computer. For example, when computers were first invented, programming was done by manually toggling in the binary machine instructions by use of the front panel. As long as programs were just a few hundred instructions long, this approach worked. As programs grew, assembly language was invented so that a programmer could deal with larger, increasingly complex programs by using symbolic representations of the machine instructions. As programs continued to grow, high-level languages were introduced that gave the programmer more tools with which to handle complexity.

The first widespread language was, of course, FORTRAN. While FORTRAN was an impressive first step, it is hardly a language that encourages clear and easy-to understand programs. The 1960s gave birth to structured programming. This is the method of programming championed by languages such as C. The use of structured languages enabled programmers to write, for the first time, moderately complex programs fairly easily. However, even with structured programming methods, once a project reaches a certain size, its complexity exceeds what a programmer can manage. By the early 1980s, many projects were pushing the structured approach past its limits. To solve this problem, a new way to program was invented, called object-oriented programming (OOP). Object-oriented programming is discussed in detail later in this book, but here is a brief definition: OOP is a programming methodology that helps organize complex programs through the use of inheritance, encapsulation, and polymorphism.

In the final analysis, although C is one of the world's great programming languages, there is a limit to its ability to handle complexity. Once a program exceeds somewhere between 25,000 and 100,000 lines of code, it becomes so complex that it is difficult to grasp as a totality. C++ allows this barrier to be broken, and helps the programmer comprehend and manage larger programs.

C++ was invented by Bjarne Stroustrup in 1979, while he was working at Bell Laboratories in Murray Hill, New Jersey. Stroustrup initially called the new language "C with Classes." However, in 1983, the name was changed to C++. C++ extends C by adding object-oriented features. Because C++ is built upon the foundation of C, it includes all of C's features, attributes, and benefits. This is a crucial reason for the success of C++ as a language. The invention of C++ was not an attempt to create a completely new programming language. Instead, it was an enhancement to an already highly successful one. C++ was standardized in November 1997, and an ANSI/ISO standard for C++ is now available.

Most Viewed Articles (in C++ )

Latest Articles (in C++)

Comment on this tutorial

Subscribe to Tutorials

Related Tutorials

Archived Comments

1. It has been really helpful for me to gather inform
View Tutorial          By: sonam at 2009-03-08 09:41:33

2. yup
View Tutorial          By: dd at 2011-01-19 23:14:46

3. Fine! But lacks some facts to support the statemen
View Tutorial          By: Himanshu Shekhar at 2011-10-19 02:04:38

4. Fine! But lacks some facts to support the statemen
View Tutorial          By: Himanshu Shekhar at 2011-10-19 02:06:38

5. Fine! But lacks some facts to support the statemen
View Tutorial          By: Himanshu Shekhar at 2011-10-19 02:10:08

6. What kind of complexity you talking about in C pro
View Tutorial          By: Vikram Bhati at 2014-03-21 06:50:28