C++, often referenced as a general-purpose programming language, in fact is the general-purpose programming language. Started in 1979 as AT&T Bell Labs scientist Bjarne Stroustrup’s search for a fast and powerful tool with large software development capabilities, apt like Simula yet quite a bit more rapid, BCPL’ish maybe. C was almost an obvious choice due to its features and wide use.

C++ initially introduced classes, derived classes, strong typing, inlining and default arguments to the C language, hence the name: ++ means “current value+1” in C.

Later on, C++ evolved according to a rather healthy philosophy set by its creators that include the rule demanding to be close to the real world. It directs C++ evolution towards solving real contemporary problems, for immediate use of those solutions in actual software.

Here are some of the features C++ gained through 1983—1990:

  • virtual functions
  • function name and operator overloading
  • references
  • constants
  • type-safe free-store memory allocation (new/delete)
  • improved type checking
  • multiple inheritance
  • abstract classes
  • static member functions
  • const member functions
  • protected members
  • templates
  • exceptions
  • namespaces
  • casts

C++ solves the problem choosing a suitable operating system as long as this language is portable and, thus, it enables developing of programs irrespective of hardware. With C++ we are able to build complex solutions for a short period of time.

Being developed on the cutting edge of the industry, C++ introduced many new features to programming and had heavily influenced newer languages: Java, C#, D, etc. C++ is a highly versatile, strong and resourceful language, designed with productivity, large-scale and system programming kept in mind, it now can be found in so many more implementations, with C++ compilers available on so many platforms. The language allows creating fast and nimble suites even for kitchen appliances, not saying space probes. It also has a huge library collection and one of its philosophy rules demands equal support and performance for user-created and built-in classes.

Sometimes called omnipotent, C++ still evolves with new set of features and improvements coming in 2017. Well, good news.