C++: Difference between revisions

From Citizendium
Jump to navigation Jump to search
imported>Andrew Cuthbert
(Added history, future and bulleted features)
imported>Andrew Cuthbert
Line 5: Line 5:
==History==
==History==


Bjarne Stroustrup began developing a revision of the C programming language in 1983 while working at [[Bell Labs]] with the primary intention to add object orientated features to the language. Although originally targeted at the Unix OS, like it's ancestor C it is a portable language meaning code can with recompiled for new processor and OS architectures.
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 with recompiled for new processor and OS architectures.


==Features==
==Features==

Revision as of 15:37, 11 May 2009

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 with 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. Many new programmers find these languages easier to learn and their modern constructs and syntaxes provide many powerful time saving and symantic improvements over C++.

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