Professional Documents
Culture Documents
Chapter 2 - History of Programming Languages
Chapter 2 - History of Programming Languages
Outline
2.1 Appearance of high level language
2.2 Development of HLL
2.3 History of PL
2.4 Some special languages
2.5 Classification of PL
Issues about PL
• During 1950s-1960s
– It is done that compile to execute program efficiently
– relation between language element and hardware : integers,
reals, goto statements
– Programmer was cheap and machine was expensive
• But today
– It is done that compile program to be produced efficiently
– CPU power and memory are very cheap.
– relation between language element and design conception:
encapsulation, inheritance, assertions
2.1 Appearance of high level language
• Feature
– readable version of machine language for human
– use 0 and 1 for word, number, symbol
– can be changed from the code human can read to executable
code by machine
– NOT Portable (dependent on HW)
• Problem
– hard to find error because program is not made up by
sentences but by the association of characters.
– This program is influenced by HW.
– If new computer appears, people should make new library.
From source code to machine code
• “compile of program”
– Translate source code made by HLL to machine code
(object, or executable).
• “Compiler”
– Translation program source code made by HLL to machine
code (object, or executable).
• “Assembly”
– Translate source code made by assembly language to
machine code (object, or executable).
• “Assembler”
– Translation program source code made by assembly
language to machine code (object, or executable).
• Compiler should know special target hardware.
Compiler vs. Assembler vs. Interpreter
1966 ALGOL-W
1967 BCPL SIMULA-67
1968 ALGOL-68
1971 PASCAL
1972 C
1977 FORTRAN-77
1979 ADA
1980 SMALLTALK80
1985
1986 Postscript
1989
1990 Perl
1995 Tcl/Tk
Java
3) 1960’s : increasing PL
- PL/1 (Programming Language One)
- ALGOL 68
- Simula 67
- SNOBOL (StriNg Oriented symBolic Language)
- BASIC (Beginners All-purpose Symbol Instruction
Code)
4) 1970’s : simplicity, abstraction
Early 1970’s : pursue simplicity - PASCAL,
C for UNIX
Middle of 1970’s: pursue abstraction
- CLU, Euclid, Mesa
2.3 History of Programming languages
5) 1980’s : integration and new direction
- Ada
- Modular-2
- Functional L.: Scheme, ML
- Logical L.: Prolog
- Objective L.: Small talk, C++
6) 1990’s : WWW Programming (Java)
- It began from C++
- Object oriented Language
- No support of pointer and multiple inheritance
- Multithread
- Web is an applicative field of Java
7) 2000’s: Software crisis and DB language(SQL, Lotus,
Delphi)
2.4 Some special languages
• FORTRAN
– The first HLL
– FORmula TRANslation: intend to use normal math expression
– Conditional statement: if (condition) true-label, false-label
– In 1954, John Backus group developed FORTRAN 0.
FORTARN I, II, III, IV, FORRAN 77, FORTRAN 90
• Efficiency of object code
• simplicity
• Easy to learn
• Popular to many users
– Important feature
• Fixed field: col. 1-5, 6, 7-72, 73-80
• type: A-H, I-N, O-Z
• Arithmetic IF statement: if (arithmetic expression) n1, n2, n3
• DO statement: upward increment index variable
• FORMAT statement: control input/output
• comment: it begins by C
Example 2.1 FORTRAN 19