C++

From Citizendium
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
This article is a stub and thus not approved.
Main Article
Discussion
Related Articles  [?]
Bibliography  [?]
External Links  [?]
Citable Version  [?]
Catalogs [?]
 
This editable Main Article is under development and subject to a disclaimer.
For other uses, see C (disambiguation).

C++ is a programming language created by Bjarne Stroustrup. Originally, it extended the C programming language, primarily by adding object oriented programming capabilities to it. However, since the release of the C99 standard, C++ is no longer a strict superset of C.

History

Bjarne Stroustrup began developing a revision of the C programming language in 1979 while working at Bell Labs with the primary intention to add object orientated features to the language. Initially called 'C with classes' it was renamed to C++ in 1983 and made it's first official debut in 1985. Although originally targeted at the Unix OS, like it's ancestor C it is a portable language meaning code can be recompiled for new processor and OS architectures.

Features

The feature set of C++ has for a long while been the benchmark of comparison for other programming languages. It's ability to interface at a low level with the hardware and OS, complimented by advanced data representation and abstraction to empower the programmer, has seen C++ become one of the most ubiquitous languages of modern times.

Some of the languages features include:

  • Data abstraction through classes and objects
  • Data encapsulation through data structures
  • Polymorphism
  • Inheritance
  • Pointers
  • generic programming (also known as parameterization of types) through the use of templates (known in some languages as generics).
  • It follows a bottom up approach in compilation as compared to the top down approach of C.

Future

While the future of C++ is secure given it's large user and code base, research and development has been shifting towards more modern languages such as C# and Java. New programmers frequently find these languages easier to learn and their modern constructs and syntaxes provide many powerful time saving and semantic improvements over C++.

For the fastest possible execution, lowest possible memory usage, accessing hardware at a low level, or in environments where more modern languages are not available native code will still be the preferred choice for some time to come. C++ will therefore most likely remain one of the most popular languages for many years to come (see Tiobe index).