C++ -- is much more than a better C
C
1972 C Kernigan and Ritchi (Unix)
1983 C++ (Simula 1967)
1985 ANSI/ISO C
1996 ANSI/ISO C++
Design principles -- the benefits of efficiency
- superset of C -- supporting OOP
- static typing -- with user-defined exceptions
- explicit -- no default virtual functions
- extensible -- libraries in C and C++
slide: The language C++
The leading design principle underlying C++
is to support object-oriented programming,
yet allow the programmer and user the benefits
of (runtime) efficiency.
It has been designed as (almost)
a superset of C, to allow the integration
of C code in a seamless way.
It provides strong static typing, yet allows
the programmer to escape the rigidity of typing
if absolutely necessary.
C++ is designed to be extensible.
This means that
no assumptions are made with regard to a programming
environment or standard library classes.
The C language was originally introduced
as a (Unix) systems programming language,
and is gradually being replaced by C++ for this purpose.
However, C++ lends itself to many other applications,
including mathematical programming and business applications.
[