Topic: machine independent programming

topics > computer science > programming > Group: goals for a programming system

abstraction in programming
formal methods and languages
programming as mathematics
programming language standards
software portability
virtual machine


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 up

Quote: a programming language should have a complete, mathematical, definition independent of a compiler or computer [»wirtN3_1976]

Subtopic: programming is language up

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 up

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 up

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 up

Quote: define parameters such as 'underflow threshold' to help in writing portable software [»fordB7_1978]

Subtopic: logic vs. physical structure up

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 up

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 up

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 up

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)

Updated barberCB 8/04
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.