C++: Difference between revisions
imported>Audrius Meskauskas (→Future: added reference - Tiob index) |
imported>Audrius Meskauskas (→Future) |
||
Line 25: | Line 25: | ||
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 programming language|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++. | 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 programming language|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 [http://www.tiobe.com/index.php/paperinfo/tpci/C__.html Tiobe index]. | 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 [http://www.tiobe.com/index.php/paperinfo/tpci/C__.html Tiobe index]). |
Revision as of 01:49, 22 July 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 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).