Topic: abstraction in programming language
Topic: aspect-oriented programming
Topic: bootstrapped systems
Topic: builtin functions
Topic: function library
Topic: keyboard macros
Topic: language extension via macros
Topic: literate programming
Topic: machine code and assembly language
Topic: macro syntax definition
Topic: macros
Topic: predefined program units
Topic: program web
Topic: program construction by walk-through
Topic: program source as truth
Topic: programming as mathematics
Topic: programming by sequential implementation
Topic: programming language
Topic: programming language design
Topic: programming with a database of modules
Topic: programming with data
Topic: prototyping
Topic: semantics by an abstract machine
Topic: software components
Topic: spreadsheet
Group: grammar
Group: hypertext
Group: machine model
Group: natural language
Group: programming notation
Group: Thesa programming system
Group: types of programming languages
Group: systems
Topic: abstraction in programming
Topic: decision table
Topic: declarative vs. procedural representation
Topic: flow diagrams and flow charts
Topic: orthogonal extension and cartesian products
Topic: production systems
Topic: programming with forms
Topic: spatial vs. temporal representation
Topic: software portability
Topic: structured programming
Topic: type reflection and introspection
Topic: understanding systems
Topic: uniform language systems
Topic: visual programming
Topic: vivid representation of programs
| |
Summary
A program is a static, linear representation of a multi-dimensional dynamic process. It defines a machine's initial state. Its meaning is the machine's execution. Underlying the representation is a model of computing, hopefully a simple foundation allowing variability without preempting user choices. A program is a visible, written representation which must be readable by both man and machine. Writing a program is solving a puzzle in representation. Many different programs should solve any one puzzle, otherwise programming becomes a difficult and expensive process. (cbb 5/80)
Subtopic: programs written for computer and human
Quote: a program has two audiences: the computer for which it is a mechanism, and the human reader for which it is an explanation [»soloE9_1986]
| Subtopic: programming as mathematics
Quote: computing is a new field of mathematics; its central concepts are ill defined, like calculus when it was the Method of Fluxions [»straC8_1967]
| Subtopic: clarity vs. efficiency
Quote: existing programming languages attempt to capture all of program development in one text; the program must balance clarity with efficiency [»scheWL9_1983]
| Quote: semantic gap between basic instructions and machine code; either compile or interpret; complex codes not needed [»debaEH_1990]
| Subtopic: specification vs. behavior
QuoteRef: wirtN3_1976 ;;3 "Languages to instruct or to construct machines?
| Quote: a program controls a computer's behavior, or it is a complete specification for the desired, observable behavior of a computer [»hehnEC2_1984]
| Quote: software is not fractal; high-level design is qualitatively different from low-level design; e.g., system architecture, abstract data type, and implementation [»guttJV_2002]
| Subtopic: syntax vs. semantics
Quote: for programming languages semantics is far more important than syntax [»straC8_1967]
| Subtopic: problem of errors
Quote: a program is a sequence of orders for performing a calculation; unlike a human, every contingency must be foreseen [»wilkMV_1951]
| Subtopic: a program is mostly names
Quote: a program consists of a large number of variables, a few constants, and some punctuation to paste this all together [»wegbB_1971]
| Subtopic: programmers remember semantics not syntax
Quote: programmers remember program by their semantics independently of the program's syntax [»shneB_1985]
| Quote: Pascal programmers can easily remember a Pascal program; other programmers can recreate the program in their own language
| Quote: the effectiveness of a particular programming technique depends overwhelmingly on the programmer's personality [»naurP4_1993]
| Subtopic: usage cliches
Quote: usage cliches should be given first class syntactic status in programming languages, databases, and knowledge representation [»ridjD6_1983]
| Subtopic: program by copying
Quote: programming is inhumanly hard; because text strings are a poor representation for programs [»edwaJ10_2005]
| Quote: use copying to make programming more like a spreadsheet than a keypunch; representation = execution; free of the limits of paper
| Note: a program is a frozen set of modules as identified by a call [»cbb_1990, OK]
| Subtopic: difficult representations
QuoteRef: gonnGH7_1981 ;;33,34 copied difficult representations for programming languages.
|
Group: program representation
Topic: abstraction in programming language (47 items)
Topic: aspect-oriented programming (2 items)
Topic: bootstrapped systems (7 items)
Topic: builtin functions (6 items)
Topic: function library (50 items)
Topic: keyboard macros (12 items)
Topic: language extension via macros (23 items)
Topic: literate programming (16 items)
Topic: machine code and assembly language (49 items)
Topic: macro syntax definition (10 items)
Topic: macros (22 items)
Topic: predefined program units (6 items)
Topic: program web (8 items)
Topic: program construction by walk-through (26 items)
Topic: program source as truth (17 items)
Topic: programming as mathematics (27 items)
Topic: programming by sequential implementation (26 items)
Topic: programming language (29 items)
Topic: programming language design (53 items)
Topic: programming with a database of modules (94 items)
Topic: programming with data (16 items)
Topic: prototyping (18 items)
Topic: semantics by an abstract machine (38 items)
Topic: software components (11 items)
Topic: spreadsheet (28 items)
Related Topics
Group: grammar (8 topics, 181 quotes)
Group: hypertext (44 topics, 786 quotes)
Group: machine model (13 topics, 206 quotes)
Group: natural language (16 topics, 539 quotes)
Group: programming notation (14 topics, 221 quotes)
Group: Thesa programming system (11 topics, 561 quotes)
Group: types of programming languages (29 topics, 611 quotes)
Group: systems (17 topics, 530 quotes)
Topic: abstraction in programming (67 items)
Topic: decision table (29 items)
Topic: declarative vs. procedural representation (54 items)
Topic: flow diagrams and flow charts (21 items)
Topic: orthogonal extension and cartesian products (11 items)
Topic: production systems (10 items)
Topic: programming with forms (26 items)
Topic: spatial vs. temporal representation (21 items)
Topic: software portability (43 items)
Topic: structured programming (27 items)
Topic: type reflection and introspection (28 items)
Topic: understanding systems (48 items)
Topic: uniform language systems (25 items)
Topic: visual programming (32 items)
Topic: vivid representation of programs (22 items)
|