What is C++ programming language?

C++ is a programming language developed by Bjarne Stroustrup in 1979 at Bell Labs. C++ is regarded as a middle-level language, as it comprises a combination of both high-level and low-level language features. It is a superset of C, and that virtually any legal C program is a legal C++ program. C++ runs on a variety of platforms, such as Windows, Mac OS, and the various versions of UNIX.

It is a language that is −

  •  Statically typed − A programming language is claimed to use static typing when type checking is performed during compile-time as opposed to run-time.
  •  Compiled − A compiled language is a programming language whose implementations are typically compilers (translators that generate machine code from source code), and not interpreters (step-by-step executors of source code, where no pre-runtime translation takes place).
  •  General-purpose − A general-purpose language could be a language that is generally applicable across application domains, and lacks specialized options for a specific domain. This is in contrast to a domain-specific language (DSL), which is specialized to a particular application domain.
  •  Case-sensitive − C++ is case sensitive, ie, all identifiers, keywords, etc mean different things when they are in the different case.
  •  Free-form − A free-form language is a programming language in which the positioning of characters on the page in program text is insignificant.
  • Procedural Programming − A procedural programming language is an important programming language whose programs have the ability to be primarily structured in terms of reusable procedures, e.g. subroutines and/or functions.
  •  Object-oriented Programming − Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which may contain data, in the form of fields, often known as attributes; and code, in the form of procedures, often known as methods.
  • Generic Programming − Generic programming is a style of computer programming in which algorithms are written in terms of types to-be-specified-later that are then instantiated when needed for specific types provided as parameters.