CSCI 431 Lecture Notes - History

History

Below is the genealogy of the common high-level programming languages. For a more general presentation of the history of computing check out The Virtual Museum of Computing.

1957  FORTRAN I---+                FLOW-MATIC
  58  FORTRAN II  +-ALGOL 58             |
  59     |               |               |                  LISP
  60     |             ALGOL 60   APL   COBOL-----+          |
  61     |            | | | | +-----------------+ |          |
  62 FORTRAN IV       | | | +------------|      | |  CPL     |
  63     |            | | +---SIMULA I   |      | |   |      |
  64     |            | +---+    |       BASIC  PL/I  |      |
  65     +----------- | --- | -- | ---------+---+     |      |
  66     |         ALGOL W  |    |          |         |      |
  67     |           |      |    SIMULA 67  |         |      |
  68     |           |    ALGOL 68 | |  |   |         |      |
  69     |           |             | |  |   |        BCPL    |
  70     |           |             | |  |   |         B      |
  71     |         PASCAL          | |  |   |         C +    |
  72     |           | |           | |  |   |         | |    |
  73     |           | +----------+| |  |   |         | |    |
  74     |           |            || |  |   |         | |    |
  75     |           |            || |  +----------+  | |  SCHEME
  76     |           |            || |      |      |  | |    |
  77     |         MODULA-2       || |      |      |  | |    |
  78 FORTRAN 77      |            || |      |      |  | |    |
  79     |           |            || |             |  | |    |
  80     |           |            || Smalltalk 80  |  | |    |
  81     |           |            |+---+           |  | |    |
  82     |           |            |    |    |      |  | |    |
  83     |           |          Ada 83 |    |      |  | |    |
  84     |           |            |    |    |      |  | | COMMON LISP
  85     |           |            |    |    |       C++ +----------+
  86     |       +-- +            |    |    +----+   | +---------+ |
  87     |       |   |            |    |         |   +------+    | |
  88     |       | Oberon         |    |      Quick Basic   |    | |
  89     |      MODULA-3          |    |         |          |   ANSI C
  90 FORTRAN 90                   +---Eiffel  Visual Basic  |
  91                              |                         |
  92                              |                         |
  93                              |                         |           
  94                              |                         |
  95                            Ada 95                    Java

Examples

Each of the new languages listed above meets some specialized goal. For instance, AMPL is designed for expressing mathematics; HTML is a mark-up language for hypertext documents; and Active VRML, which was derived from the CAML family of languages, has been designed by Microsoft to enable transmission of active virtual reality scenarios across networks.

a few different forms of the expression x + 1

 x + 1          C, Pascal, Ada, Algol
 $x + 1         Perl
 x 1 add        Forth, Postscript
 (+ x 1)        Lisp, Scheme
 add $1 $2 $3   Assembly language

What does it mean to understand a programming language?

Let us illustrate the problem via an example. Consider the following statement:

set x[i] to x[i] + 1

Example (continued)

Example (continued)

Example (continued)