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.
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.
C++ was developed by Bjarne Stroustrup, a Danish computer scientist and programmer.
He began developing the language while working 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.
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++.
Classes provide a way to combine data and functions into a single programming unit.
This helps programmers organize large programs in a structured way.
One of the major developments in C++ was its support for object-oriented programming.
Important object-oriented concepts include:
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.
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.
During its early development, the language gradually gained additional features such as classes, function overloading, and other capabilities that extended the C programming model.
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.
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.
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) {
}
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++.
An object can be created from a class.
class Student {
public:
int age;
};
int main() {
Student s1;
s1.age = 20;
return 0;
}
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++.
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.
C++98 was the first standardized version of C++. It established a formal standard for many core language features and the standard library.
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.
C++11 was an important update to the language. It introduced many modern programming features.
C++14 was released as a smaller update following C++11. It added improvements and refinements to existing C++11 features.
C++17 introduced several language and library improvements.
Examples include structured bindings, if constexpr, and additional standard library facilities.
C++20 introduced several major language features and library improvements.
Important additions include concepts, ranges, coroutines, and modules.
C++23 is a later standard that continues the development of the language and standard library with additional improvements and features.
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.
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.
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.
C++ continues to be used in areas where performance, resource control, and efficient execution are important.
C++ standards are commonly identified by their publication years. Some important versions include:
| 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 |
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.
Question: Who developed C++?