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
- type-safe free-store memory allocation (new/delete)
- improved type checking
- multiple inheritance
- abstract classes
- static member functions
- const member functions
- protected members
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.