The computers today are getting smarter day by day. But still the computers need to be instructed properly to do what is needed to be done. These sets of instructions that tell a computer what to be done are called programs. Computers understand only the machine language presented in 0 and 1 binary digits. Humans can develop these instructions in a language that can be then translated into machine language. One such language through which such instructions for the computer be built is C++. Then the assembler translates the instructions to machine language.
C++ is a high level assembly language, high level because it’s easy to understand and write instructions by humans. C++ is an Object Oriented Language- based on the concepts of objects, which are data structures containing data in the form of attributes, and code, methods. C++ is a Generic programming language- fundamental requirements are abstracted through the use of templates. C++ is an imperative programming language- focus on how a program operates through various declarations and a sequence of commands and statements.
Features of C++:
- ISO Standardized Language
- Compatible with C- c codes can be compiled using C++ compiler
- Consists of a Standard Library- consists of vectors, maps, sets, routines, data structures- queue, stacks, array, lists etc., iostream, pointers- for automatic memory management, multi-threading, etc.. Exception handling- to communicate the existence of a runtime problem, where it occurred and till where it need to be handled within the program.
- Encapsulation- hiding the main component of the program- data structures and use them as intended to be used. This is done through public, private or protected declaration.
- Polymorphism- enables the objects in the program to act differently under different circumstances. Both Comlie-time and Run-time Polymorphism is supported.
C++ is still considered to be the base for understanding the programming world and is important to be learnt to become masters in application development. One can easily adapt to any technology for programming if one has command on C++ skills.