Lecture 3 – September 6
NOTE: Force 2.0.8 CAN be installed on a flash drive (contributed by Christine Jones)
Things about mini-language Core that are not specified by the BNF handout
What can’t you do in mini-language Core?
http://www.nsc.liu.se/~boein/f77to90/c1.html - changes
from FORTRAN 77 to FORTRAN 90
FORTRAN’s do loop problem - a Venus probe was lost because
DO 10 I = 1,7 was accidentally written as DO 10 I = 1.7
FORTRAN’s horizontal spacing –
MOTHER = 5; is identical to M OT HER = 5;
Criteria for languages selected for Programming Language conference
1. in use in 1967
2. still in use in 1977
3. had significant influence on the field of computing
Languages selected
ALGOL 60 - concepts (blocks) – formal notation for syntax
APL – “A Programming Language” - highly specialized mathematical uses -
APT – “A Programming Tool” - one of the earliest – specialized -
BASIC - simplest – wide educational use
COBOL 60 – business data processing
FORTRAN – “formula translation” – scientific programming
GPSS – “general purpose simulation system” – earliest of simulation languages
JOSS – first designed for interactive environment
JOVIAL – outgrowth of Algol 58
LISP – symbolic processing and artificial intelligence
PL/I – combination of business and scientific – really large language
SNOBOL – string processing
SIMULA – first of the object oriented languages – introduced concept of class
The basic difference between a function and a subroutine is that
Functions return a single value
Subroutines return zero, one or many values
In FORTRAN,
Functions return their value by assignment to the function name
Subroutines return their values through the parameter list