Topic: abstraction
Topic: abstraction in programming
Topic: formal methods and languages
Topic: programming as mathematics
Topic: programming language standards
Topic: software portability
Topic: standards
Topic: virtual machine
| |
Summary
The ultimate in software portability is machine independence. Most high level languages claim machine independence, but differences in compilers, operating systems, language enhancements, internal representations, program size, and program complexity, make true portability difficult to achieve. One successful separation of logical representation from physical implementation has been COBOL. Its environment specification allows easy transportation of programs. (cbb 5/80)
Standardized libraries and converging machine architectures have made machine independence easier to achieve. Although the first attempt at compiling a program for another computer is likely to fail, straightforward changes and parameterization often allows one source to run on many different computers. Graphical user interfaces are more difficult to convert. (cbb 4/98)
Subtopic: programming is mathematical
Quote: a programming language should have a complete, mathematical, definition independent of a compiler or computer [»wirtN3_1976]
| Subtopic: programming is language
Quote: AED is a system for problem solving by lexical, parsing, modeling, and analysis phases; machine and language independence by changing the control information for each phase [»rossDT_1967]
| Quote: AED produces a first-pass structure like a sentence diagram; translated into a program, and assembled into code [»rossDT_1967]
| Subtopic: secure language if independent of implementation
Quote: a programming language is secure if it does not lead to machine or implementation effects that are inexplicable in terms of the language [»hoarCA_1974]
| Subtopic: use knowledge of machine to program
Quote: need knowledge of computer architecture, instruction codes, and data representation to use a programming language [»wirtN3_1976]
| Quote: precision constraints are often circumvented to get a particular storage size [»maclBJ_1987]
| Subtopic: parameterize machine constraints
Quote: define parameters such as 'underflow threshold' to help in writing portable software [»fordB7_1978]
| Subtopic: logic vs. physical structure
Quote: C-- is an abstraction of computation (expressions), control flow (if), memory (addressing), registers (variables), and procedures; an intermediate language [»joneSP9_1999]
| QuoteRef: leonAJ11_1971 ;; separating logical structure of data file from physical structure
| Subtopic: adapt graph layout to output device
Quote: should adapt a graph layout to the device characteristics, annotation style, intended use, etc. [»vinbA_1982]
| Quote: a graph that looks good on one graphical output device may not look good on another; e.g., paper vs. color slide vs. report [»vinbA_1982]
| Subtopic: need direct access to hardware
Quote: automatic test equipment requires direct control of hardware; so need machine level access [»elliMT_1971, OK]
| Quote: fundamental semantic entities should reflect the computer's elementary operators
|
Related Topics
Topic: abstraction (62 items)
Topic: abstraction in programming (67 items)
Topic: formal methods and languages (53 items)
Topic: programming as mathematics (27 items)
Topic: programming language standards (10 items)
Topic: software portability (43 items)
Topic: standards (12 items)
Topic: virtual machine (13 items)
|