Programming Languages Lecture 2
Programming Languages Lecture 2
Elvis C. Foster
2.1 Introduction
In your introduction to computer science you were no doubt introduced to Konrad Zuse, the first person to
propose the binary system. What you perhaps did not know is that as part of his PhD project, Zuse also
proposed a programming language that he called Plankalkul. In that project, he also proposed several
algorithms for what we now know as Data Structures. His thesis was not published until 1972. In hindsight,
he clearly was ahead of his peers.
Since Zuses Plankalkul, there has been hundreds of programming languages. Figure 2.1 provides a
summarized list of some of the major programming languages. Figure 2.2 shows the generations that
programming languages have been through.
Figure 2.1: Summary of the History of Programming Languages
Period
1950s
1960s
1970s
1980s
1990s
Languages Developed
FORTRAN, LISP
Simula, COBOL, RPG, ALGOL, PL1
Ada, C, Pascal, Prolog, Small Talk
C++, ML, Eiffel, Visual languages
Java, Hypermedia languages, Visual languages, Ada 95
Generation
Machine Code
Languages Developed
Each computer (model) has an instruction set of binary instructions. Computer
programs were first written in binary code.
Assembly Language Each computer (model) has an assembly language based on its instruction set. This is
a slightly higher level than machine code. Assembly language coding was the first
replacement of machine code.
High-level languages The first set of HLLs included procedural languages and rule-based languages. Then
(HLLs)
came the introduction of OOPLs and hybrid languages.
Fourth Generation
These languages came with the proliferation of relational database management
Languages (4GLs)
systems (RDBMSs), computer-aided software engineering (CASE) tools, and rapid
application development (RAD) tools.
Fifth General Systems This generation includes integrated CASE (ICASE) tools, multi-agent applications, a
(5GS)
nd
intelligent systems.
2.3 Fortran
2.4 LISP
2.5 ALGOL
2.6 COBOL
2.7 Basic
2.8 PL1
2.9 SNOBOL
2.10 Simula 67
2.11 Prolog
2.12 Ada
2.14 C++