Lesson 2 of 60 – History of C++
3%

History of C++

C++ is a general-purpose programming language that evolved from the C programming language. It was created to add higher-level programming features, especially support for classes and object-oriented programming, while retaining much of the performance and control associated with C.

Note: C++ was originally known as "C with Classes". The language later became known as C++.

1. Origin of C++

C++ originated from the C programming language. The goal was to extend C with additional programming features while maintaining the efficiency and flexibility of C.

2. Who Developed C++?

C++ was developed by Bjarne Stroustrup, a Danish computer scientist and programmer.

He began developing the language while working at Bell Labs.

3. Development at Bell Labs

The development of C++ began at Bell Labs in the early 1980s. Bjarne Stroustrup wanted a language that could provide high-level programming features without losing the performance advantages of C.

4. C with Classes

The first version of the language was called C with Classes. It extended the C language with the concept of classes.

Classes became an important foundation for object-oriented programming in C++.

5. Why Classes Were Added

Classes provide a way to combine data and functions into a single programming unit.

This helps programmers organize large programs in a structured way.

6. C++ and Object-Oriented Programming

One of the major developments in C++ was its support for object-oriented programming.

Important object-oriented concepts include:

  • Classes
  • Objects
  • Encapsulation
  • Inheritance
  • Polymorphism

7. The Name C++

The name C++ comes from the increment operator ++ in C. The increment operator increases a value by one.

The name therefore represents an evolution or extension of C.

8. Meaning of C++

In programming, ++ is the increment operator. For example:

int x = 5;
x++;

After the increment operation, the value of x becomes 6. The name C++ reflects the idea of an improved or extended C language.

9. Early Development of C++

During its early development, the language gradually gained additional features such as classes, function overloading, and other capabilities that extended the C programming model.

10. C++ and C Compatibility

C++ was designed to retain many familiar concepts and syntax from C. This made it possible for programmers familiar with C to learn and use many C++ concepts more easily.

However, C and C++ are separate programming languages with their own language standards.

11. C++ Becomes a Separate Language

As more features were added, C++ developed into a full programming language with its own features, rules, and standards.

It continued to maintain strong connections with C while expanding its programming capabilities.

12. Important Feature: Function Overloading

C++ introduced support for function overloading, allowing multiple functions to have the same name when their parameter lists are different.

void show(int x) {
}

void show(double x) {
}

13. C++ and Classes

A class is a user-defined type that can contain data and functions.

class Student {
public:
    int age;
};

The class concept became one of the central features of C++.

14. C++ and Objects

An object can be created from a class.

class Student {
public:
    int age;
};

int main() {

    Student s1;

    s1.age = 20;

    return 0;
}

15. Standardization of C++

As C++ became widely used, standardization became important so that different compilers could implement the language consistently.

The International Organization for Standardization (ISO) has published standards for C++.

16. First ISO C++ Standard

The first ISO standard for C++ was published in 1998. It is commonly referred to as C++98.

Standardization provided a common specification for the language and its standard library.

17. C++98

C++98 was the first standardized version of C++. It established a formal standard for many core language features and the standard library.

18. C++03

C++03 was published in 2003. It mainly contained corrections and clarifications to the C++98 standard rather than introducing a large set of new language features.

19. C++11

C++11 was an important update to the language. It introduced many modern programming features.

  • auto
  • Range-based for loops
  • Lambda expressions
  • Move semantics
  • Smart pointers
  • Uniform initialization

20. C++14

C++14 was released as a smaller update following C++11. It added improvements and refinements to existing C++11 features.

21. C++17

C++17 introduced several language and library improvements.

Examples include structured bindings, if constexpr, and additional standard library facilities.

22. C++20

C++20 introduced several major language features and library improvements.

Important additions include concepts, ranges, coroutines, and modules.

23. C++23

C++23 is a later standard that continues the development of the language and standard library with additional improvements and features.

24. Evolution of C++

C++ has evolved over several decades. Its development has added modern programming capabilities while retaining many core concepts that have made the language useful for high-performance programming.

25. C++ Standard Library

C++ includes a standard library that provides reusable components for common programming tasks.

Examples include containers, algorithms, strings, input/output facilities, and many utility classes and functions.

26. C++ and Modern Programming

Modern C++ provides features that allow programmers to write more expressive and maintainable programs.

Modern versions of C++ include features such as smart pointers, lambda expressions, move semantics, concepts, and ranges.

27. C++ in Software Development

C++ continues to be used in areas where performance, resource control, and efficient execution are important.

  • Game engines
  • System software
  • Embedded software
  • Graphics applications
  • Desktop applications
  • High-performance applications

28. C++ Version Names

C++ standards are commonly identified by their publication years. Some important versions include:

  • C++98
  • C++03
  • C++11
  • C++14
  • C++17
  • C++20
  • C++23

29. Timeline of C++

Period / Standard Important Point
Early 1980s Development of C with Classes began
1980s The language evolved and became known as C++
1998 C++98 became the first ISO C++ standard
2003 C++03 provided corrections and clarifications
2011 C++11 introduced many modern features
2014 C++14 added improvements
2017 C++17 added further language and library features
2020 C++20 introduced major modern features
2023 C++23 continued the evolution of the language

30. Summary of C++ History

C++ started as an extension of C and was initially called C with Classes. It was developed by Bjarne Stroustrup at Bell Labs. Over time, the language gained object-oriented and other programming features and became an independent standardized language.

The language has continued to evolve through standards such as C++98, C++03, C++11, C++14, C++17, C++20, and C++23.

Understanding this history helps us understand why C++ contains both C-style programming features and modern programming features.

📌 Key Points

  • C++ evolved from the C programming language.
  • C++ was developed by Bjarne Stroustrup.
  • Development began at Bell Labs in the early 1980s.
  • The early language was called C with Classes.
  • C++ added support for classes and object-oriented programming.
  • The name C++ uses the C increment operator ++.
  • C++ was first standardized by ISO in 1998 as C++98.
  • C++11 introduced many important modern language features.
  • C++20 introduced features such as concepts, ranges, coroutines, and modules.
  • C++ continues to evolve through new standards.

🧠 Quick Quiz

Question: Who developed C++?