C++: Difference between revisions
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 | '''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. | ||
[[ | ==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
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.