C++ is a multi-paradigm programming language that supports object oriented programming (OOP), created by BJarne Stroustrup in 1983 at Bell Labs, C++ is an extension (superset) of C programming and the programs written in C language can run in C++ compilers.
The development of C++ actually began four years before its release, in 1979. It did not start out with the name C++; its first name was C with Classes. In the late part of 1983, C with Classes was first used for AT&T’s internal programming needs. Its name was changed to C++ later in the same year. C++ was not released commercially until the late part of 1985.
C++ implements “data abstraction” using a concept called “classes“, along with other features to allow object-oriented programming and is considered a high level language. Classes help programmers with the organization of their code. They can also be beneficial in helping programmers to avoid mistakes.
The original C++ compiler, called Cfront, was written in the C++ programming language. C++ compilation is considered efficient and fast. Its speed can be attributed to its high-level features in conjunction with its low-level components. When compared to other computer programming languages, C++ can be viewed as quite short. This is due to the fact that C++ leans towards the use of special characters instead of keywords.
Uses of C++ language
C++ is used by programmers to create computer software. It is used to create general systems software, drivers for various computer devices, software for servers and software for specific applications and also widely used in the creation of video games.
C++ completely supports object-oriented programming, with four pillars of object-oriented development:
Standard C++ consists of three important parts:
- All the building blocks including variables, data types and literals etc is provided by the core language.
- The C++ Standard Library is provides rich set of functions manipulating files and strings.
- The (STL) Standard Template Library provides a rich set of methods manipulating data structures.