C++ is a general-purpose programming language that was developed as an enhancement of the C language to include an object-oriented paradigm. It is an imperative and a compiled language.
C++ may be a middle-level language rendering it the advantage of programming low-level (drivers, kernels) and even higher-level applications (games, GUI, desktop apps, etc.). the essential syntax and code structure of both C and C++ are equivalent.
Features & key-points to notice:
Simple: it’s an easy language within the sense that programs are often weakened into logical units and parts, features a rich libray support and a spread of data-types.
Machine Independent but Platform Dependent: A C++ executable isn’t platform-independent (compiled programs on Linux won’t run on Windows), however, they’re machine-independent.
Mid-level language: it’s a mid-level language as we’ll do both systems-programming (drivers, kernels, networking, etc.) and build large-scale user applications (Media Players, Photoshop, Game Engines, etc.)
Rich library support: features rich library support (Both standard ~ built-in data structures, algorithms, etc.) also 3rd party libraries (e.g. Boost libraries) for fast and rapid development.
Speed of execution: C++ programs excel in speed. Since it is a compiled language, and also hugely procedural. Newer languages have extra in-built default features like garbage-collection, dynamic typing, etc. which slow the execution of the program overall. Since there is no additional processing overhead like this in C++, it’s blazing fast.
Pointer and direct Memory-Access:C++ provides pointer support which aids users to directly manipulate storage addresses. This helps in doing low-level programming (where one might get to possess explicit control over the storage of variables).
Object-Oriented: one among the strongest points of the language which sets it aside from C. Object-Oriented support helps C++ to form maintainable and extensible programs. i.e. Large-scale applications are often built. Procedural code becomes difficult to take care of as code-size grows.
Compiled Language: C++ may be a compiled language, contributing to its speed.
Applications of C++:
Operating Systems & Systems Programming. e.g. Linux-based OS (Ubuntu etc.)
Browsers (Chrome & Firefox)
Graphics & Game engines (Photoshop, Blender, Unreal-Engine)
Database Engines (MySQL, MongoDB, Redis, etc.)