Jump to navigation Jump to search
Revision as of 04:09, 17 May 2016 by Hevangel (Created page with "== Information == by David Gelernter and Suresh Jagannathan == Concepts == === Fundamentals === * What is a program? ** not just algorithms. ** a software machine * What is...")
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.