CIS 400 
9/8/99
 
(Sebasta Chapter 2)
 
IBM/
Backus  (of
Backus-Naur form)
 
 
1° concern- Efficiency- object code
 
http://www.engin.umd.umich.edu/CIS/course.des/cis400/fortran/fortran.html
 
 
page 47 of text
 
| Column # | 1–5 | 6 | 7 – 72 | 73 - 80 | 
|   | Labels | Continue | Source
  code | Sequence
  fields  | 
 
 
1963 Naur developed Algol 60 ('root' for Pascal, PL/1, Ada)
page
55 of text
http://www.engin.umd.umich.edu/CIS/course.des/cis400/algol/algol.html
 
What is an "Algol-like"
language?
 
C                      Algol lexical scope

 
 
            need
order
 
also see
page 39 of text

 
 
 
     
            
 
 
·        
IBM in its
wisdom gave away FORTRAN with all its new computers creating wide spread
support for FORTRAN and undermining Algol support
·        
Both
type-checking and scope was not so good in Algol, this resulted in reduced
reliability
·        
Industry preferred
Fortran, academics preferred Algol
 
COBOL:
http://www.engin.umd.umich.edu/CIS/course.des/cis400/cobol/cobol.html
·        
1959 Dept. of Defense
wanted a single language
·        
1960 Remington
(Rand) developed the first compilers
·        
Machine
independent
·        
General if/then
else
·        
'Noise' words
(almost English-like, so lowly accountants could follow programs i.e. they
didn’t have to know how to program to know what the code represented)
 
Page 73 of text
IBM
1960 (Ken Iverson)
 http://www.engin.umd.umich.edu/CIS/course.des/cis400/apl/apl.html
 
·        
Very compact
notation for computation
·        
Provided for
much matrix manipulation
·        
NOT Algol-like
in nature
·        
Originally
built to describe specifications of IBM360
 
http://www.engin.umd.umich.edu/CIS/course.des/cis400/lisp/lisp.html
Developed
at MIT, (and others) by John McCarthy, (graduate instructor of Dr. Modesitt!!)
AI is its application domain
 
·        
Symbolic
expression, able to manipulate variable names like variable values (i.e.
pointer arithmetic)
·        
Uniform
representation for expression  (dataºcode) executable data structures.
·        
New form of
conditional expression (similar to "switch" statements)
·        
Pre-fix
expressions- operator followed by arguments
·        
Recursion more
widely used
·        
"Garbage
collection"  used for data
management
·        
A
"linked-list" type of structure is the basic structure in LISP