C plus plus
From Linux 101, The beginner's guide to all things Linux.
C++ was originally created by Bjarne Stroustrup of Bell Labs during the 1980s. Consistent with its name, this language is the C programming language with many improvements. One of the biggest new features is classes, which allow the developers to use object-oriented programming. C++ has many other features not found in C, such as virtual functions, operator overloading, multiple inheritance, templates, and exception handling.
The C programming language is a very efficient high-level representation of machine code. It is a strictly procedural language. It gives the developer complete freedom of memory management and code structure. C++ does not limit this in any way, in fact, most C programs will compile as C++ with few changes. However C++ also allows the developer to use the built-in memory management tools, and to structure programs within classes.
These features are not without their cost. While C++ still compiles into assembly code, it is somewhat more complicated than C, and there is some overhead gained from the extra features. It is important to consider the application when choosing a language, and C++ is advantageous to certain kinds of applications. Applications that make good candidates for C++ programs often:
- require many different components that could be represented easily with a class structure
- have a complex data model or many different hirearchies of data
- would be overwhelmingly complex to write in C or assembly
- need a flexible structure where parts can be removed, added or replaced easily
C++ is probably not the best language for:
- low-level operating system code
- embedded systems or other limited-resource machines
- prototyping
On GNU/Linux systems, C++ can be compiled into binary executable form with the GNU Compiler Collection, or gcc.

