by David Gelernter and Suresh Jagannathan
- What is a program?
- not just algorithms.
- a software machine
- What is programming languages?
- construction kit for software machinery
- All general purpose programming language are "Turing-equivalent" (at least in theory)
- What is the computer then?
- Nothing really. It doesn't matter.
- Naming environment
- Dictionary that associates names with definitions or valus
- Data Structures, Data Type and Data Values
- A data structure is an organization scheme for data
- A data type is the description of such a scheme
- A data value is a data object to be organized
- e.g. we can write a dictionary and a grammar of English in English.
- distinguish between pure mathematical structure (algorithm) and program (process linking)
- Syntax: the form a program takes
- Semantics: the meaning of the program
- Formal parameter: the name given to the incoming data objects within the subroutine
- Actual parameter: data objects passed from the invocation statement into subroutine
- Compiler: translator of "source language" to "target language"
- Interpreter: Maintain a growing set of definitions and values to allow construct programs incrementally.
- Compile time vs Runtime
- Speed advantage using parallel processor
- Convenient in programming language when execution order is don't care.