- C++ was developed by Bjarne Stroustrup, a Danish computer scientist, at Bell Labs in 1979.
- C++ is an extension of C language(the mother of all programming languages), you can consider C++ as a superset of C language.
- C++ was initially called "C with Classes" and later renamed C++.
Ever wondered why there is ++ in its name?🤔 It is an increment operator in the C language(stay with us in this course to know about this operator).
Some features by which C++ outshines other languages
- General Purpose Programming Language: C++ is designed to solve a wide range of problems including scientific(i.e, numerical computations), commercial data processing (i.e, business and commerce), system programming(i.e, operating system, game engines, industrial automation), and is different from the languages that are designed for solving domain-specific problems.
- Performance (speed): Modern C++ is a performance beast and the speed of execution is more. The main reasons for it are, C++ is a compiled language and is converted into machine code that the processor can execute directly. C++ gives a lot of control in terms of Memory Management and other resource management.
- Statically Typed and Strictly typed Language: Type checking of the variables/objects happens at compile-time and stronger type-checking is enforced. As a result, the compiler is not allowed to make assumptions on the type of data and the program is less error-prone.
- Object-Oriented Programming Language: C++ supports the Object-Oriented Programming paradigm where the program is composed of Objects(going to be explained later in the course) which contains data and code. This is used to achieve code reuse, modularity, abstraction. Sometimes objects correspond to the real world.
- Standard Template Library (STL): C++ has the power of STL, a generic library, which provides common data structures like arrays, lists, stacks implemented as containers and algorithms for searching, sorting implemented as generic functions. They are well tested and make the development work easier as you are not required to implement it from the scratch. They are very useful in competitive programming.
Why should you learn C++?
- Popularity: According to TIOBE, a software quality company, C++ is ranked 4th in the world's most popular programming language. With the release of the C++20 standard, the popularity of C++ is reviving. And most of the important C++ compilers, i.e, GCC, Clang, and Visual Studio are now fully supporting C++11, C++14, and C++17 standards.
- Competitive Programming: Guess what 😎! C++ is the most preferred language for Competitive programming and most experienced programmers recommend C++. The reason being the support of the Standard Template Library(as already discussed) which offers common data structures such as arrays, lists, trees, stacks, etc as C++ template classes.
- Job Opportunities: As per Payscale, C++ programmers can get an average salary of up to $70,469 per annum, as C++ is used in a wide variety of domains like device drivers, Desktop applications, Game engines, Graphic applications, Network Programming, etc.
Is C++ portable?
Yes, C++ source code is portable and it has compilers available for various platforms like Windows, Linux, macOS. Several standards have been developed to make your programs more portable.
To know more about C++ Standardization check out our next article on C++ Standardization.
If you are a beginner and want to learn C++ as your first programming language, then you can start your journey with us.
C++ is not a difficult language if you learn it in a proper way, always use the latest materials that cover the latest features of the language.
Learning a programming language is to become good at developing new systems and also to maintain the legacy systems. After learning C++, it is easy to learn similar programming languages like Java, C# or other interpreted languages like Python.
All the best...