Curriculum
Course: Learn C++
Login

Curriculum

Learn C++

Text lesson

A Brief History of C++ Language

In this lesson, you will learn

  • History and Evolution of C++

 

History and Evolution of C++

Here’s a brief overview and history of C++ programming language.

 

1970s: The Roots in C

  • The C programming language is the root of C++.
  • Dennis Ritchie developed C in the early 1970s at Bell Labs.
  • It was designed for system programming and to provide low-level memory access

1979: Birth of C++

  • The development of C++ began in 1979 by Bjarne Stroustrup, also at Bell Labs.
  • Stroustrup was working on his PhD thesis and was interested in adding object-oriented features to the C language, which led to the creation of “C with Classes.”
  • The first commercial release of C++ was in 1985.
  • This version included classes, basic inheritance, inlining, default function arguments, and strong type checking.

1983: The Naming C++

  • In 1983, the language was renamed from “C with Classes” to “C++.”
  • The name signifies the evolutionary nature of the changes from C (“++” is the increment operator in C and C++).

1985: The C++ Programming Language

  • Bjarne Stroustrup published the first edition of “The C++ Programming Language” in 1985.
  • This book served as an important guide and reference to the language, which was still evolving.

Late 1980s: More Features

  • By the end of the 1980s, C++ had evolved significantly.
  • Features like virtual functions, function overloading, references, constants, and operator overloading were added.

1990s: Standardization and STL

  • The 1990s saw the process of standardizing C++.
  • The American National Standards Institute (ANSI) and the International Organization for Standardization (ISO) were involved in this process.
  • In 1998, the ISO/IEC 14882:1998 (also known as C++98) was released.
  • This was the first standardized version of C++.
  • It included the Standard Template Library (STL), which provided a collection of common classes and interfaces.

Updates and Improvements

  • In 2003, a minor update to the standard, known as C++03, was released.
  • It fixed some problems and inconsistencies identified in C++98.
  • The next major revision was C++11, released in 2011.
  • This update included several significant changes like auto keyword, range-based for loops, smart pointers, lambda expressions, and improved STL.
  • It was aimed at making C++ more memory-safe, comfortable for programming, and better performing.

Modern C++

2011: C++11 (C++0x)

  • The release of C++11 marked a major update, introducing features like lambda expressions, auto keyword, nullptr, range-based for loops, and concurrency support.

2014: C++14

  • C++14 was a minor update, focusing on performance improvements and bug fixes. It introduced features like generic lambdas and variable templates. C++17 brought significant enhancements, including structured bindings, inline variables, and filesystem library support.

 

2017: C++17

  • C++17 brought significant enhancements, including structured bindings, inline variables, and filesystem library support.

2020: C++20

  • C++20 is another major update, introducing concepts, ranges, coroutines, and modules. It significantly modernized the language with new features to improve productivity and performance.

Recent and Future Developments

C++23 and Beyond

  • C++23 continues the evolution, focusing on improving the language’s usability, performance, and safety.
  • Future updates aim to refine existing features and introduce new capabilities, driven by the ongoing efforts of the ISO C++ committee and the C++ community.
  •  

 

Key Contributions and Impact

  • Object-Oriented Programming: C++ played a crucial role in popularizing object-oriented programming (OOP), which has become a dominant programming paradigm.
  • Performance and Efficiency: C++ remains a preferred choice for system/software development, games, and real-time applications due to its performance and efficiency.
  • Standard Library: The C++ Standard Library provides a rich set of tools and libraries that have been influential in the design of many other programming languages and libraries.

 

Throughout its history, C++ has evolved from a language with object-oriented features added to C, to a multi-paradigm language supporting procedural, object-oriented, and generic programming.

It has remained relevant and widely used due to its performance, use in system/software development, and its evolving nature that adapts to modern programming needs.

 

 


 

End of the lesson….enjoy learning

 

 

Student Ratings and Reviews

 

5.0
5.0 out of 5 stars (based on 1 review)
Excellent100%
Very good0%
Average0%
Poor0%
Terrible0%

 

 

September 9, 2024

EXCELLENT

 

 

Submit a Review

 

 

Layer 1
Login Categories