Development of C++ was motivated by the desire to add object-oriented features to C, while still maintaining the efficiency and low-level capabilities of C. Here's brief overview of its history:
History
- 1979: Bjarne Stroustrup started developing C++ as an extension of the C language. The first C++ compiler, named “C with classes” was created.
- 1983: The name “C++” was officially adopted, signifying the evolutionary nature of the language. The
++in C++ comes from the C language. In C language,++means incrementing a variable by 1. So, C++ roughly meansone more than C. - 1985: The first edition of Stroustrup's book, “The C++ Programming Language,” was published. This book played a crucial role in popularizing C++.
- 1989: The first ANSI/ISO standard for C++ was released, known as C++98 or C++03 (after a minor revision in 2003).
- 2011: C++11 introduced significant language enhancements, smart pointers, and a new standard library.
- 2014: C++14 brought further language improvements and library enhancements.
- 2017: C++17 introduced features like structured bindings and filesystem library.
- 2020: C++20 brought features like concepts, ranges, and improved support for multithreading.
Characteristic/Features
- Efficiency: C++ allows low-level memory manipulation and provides direct memory access to hardware, making it highly efficient.
- Object-Oriented: C++ is an object oriented programming language. It supports concepts like classes, objects, inheritance, abstraction, and polymorphism.
- Dynamic Memory Allocation: C++ supports dynamic memory allocation with the help of pointers in C++, we can allocate the memory dynamically.
- Pointers: A pointer is a variable that stores the address of another variable. C++ supports the use of pointers. They are used to interact with the memory location of any variable.
- Broad Library: C++ offers a vast library full of in-built functions that make it easy for the programmer to code. The library functions can be accessed using different header files in C++. e.g., STL.
- Standardization: C++ is an ISO standardized language, ensuring consistency and compatibility across implementations.
- Compiler Based: Unlike other languages like Python and Java which are interpreter-based, C++ is a compiler based language. Hence, C++ is much faster than Python or Java.
- Portability: C++ programs can be executed in different machines with little or no change in the code. But C++ is not platform independent. Suppose we have compiled a program in a Windows operating system. In that case, that compiled file (.exe) will not work in a Mac OS. But, a.cpp file created in windows will work perfectly on Mac OS.
- Flexibility: C++ allows for multiple programming paradigms, including procedural, object-oriented, and generic programming.
- Community: C++ has a large and active community for developers, leading to the availability of libraries, frameworks, and resources.
- Legacy Code Support: C++ is commonly used in maintaining and extending legacy systems and software.
- High Performance: C++ code is compiled into machine code, often resulting in faster execution compared to interpreted languages.

Join the discussion
Sign in with your account to post comments, reply to others, and participate in the conversation.
Login to Comment