The language C++

C++ is often disparaged because of its C heritage. Nevertheless, not only is C++ in many respects better than C, it also offers much more. From its conception, C++ has reflected a strong concern with static typing. As such it has influenced the ANSI C standard accepted in 1985. Thus far there have been three releases of the AT\&T C++ compiler (which may be considered as a semi-official standard), implementing a successively larger subset of the language as described in the Annotated Reference Manual (ARM). See  [ES90].

C++ -- is much more than a better C

C


   1972   C  Kernigan and Ritchi   (Unix)   
   1983   C++   (Simula 1976)
   1985   ANSI/ISO C
   1985   Release 1.0
   1990   Release 2.0
   1992   Release 3.0  -- templates
  

Design principles -- the benefits of efficiency


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.