C++: Difference between revisions

From Citizendium
Jump to navigation Jump to search
imported>Howard C. Berkowitz
No edit summary
imported>Andrew Cuthbert
(Added history, future and bulleted features)
Line 1: Line 1:
{{subpages}}
{{subpages}}
{{dambigbox|text=For other uses, see [[C (disambiguation)]].}}
{{dambigbox|text=For other uses, see [[C (disambiguation)]].}}
'''C++''' is a [[Programming language|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.  The language facilitates [[generic programming]] (also known as ''parameterization of types'') through the use of [[templates]] (known in some languages as ''generics'').
'''C++''' is a [[Programming language|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.


[[Data abstraction]], [[data encapsulation]], [[polymorphism in programming languages|polymorphism]] and [[inheritance (computers)|inheritance]] are the corner stones of C++ that make it a powerful programming tool.  
==History==
It follows a bottom up approach in compilation as compared to the top down approach of C.
 
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.
 
==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 in programming languages|Polymorphism]]
* [[inheritance (computers)|Inheritance]]
* [[Pointer (computer science)|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 Sharp|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.

Revision as of 15:29, 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 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.

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.