Topic: declarative vs. procedural representation
Topic: descriptive languages
Topic: machine code and assembly language
Topic: program execution
Topic: programming language
Topic: spatial vs. temporal representation
| |
Summary
Traditionally programs are written as a series of statements implementing an algorithm. Several difficulties arise: the program is understood only be retracing its execution, the implementation step is often small relative to the program's behavior, the program is difficult to modify, the program is over specified for the problem solved, and sequence information is specified with little consideration for other interrelationships.
Sequential implementation is often valid outside of programming. For instance music is transcribed in a long sequence of notes, and books are written in a long sequence of words. But music and literature are written for humans--not machines. Their presentation of loosely connected, implicit information is not suitable for machine processing. (cbb 5/80)
Subtopic: programming as algorithms
Quote: original programming paradigm was decide on procedures and find the best algorithms [»stroB5_1989]
| Quote: programming languages treat each statement as a black box with an input-output interface; poor match to a programmer's intentions [»lopeCV12_2003]
| Subtopic: algorithm as a sequence of instructions
Quote: that standard conception of programming is obsolete: a programmer designs an algorithm and implements it by a sequence of instructions [»winoT7_1979]
| Quote: a Modula-3 program is a computation on locations of digital components [»cardL_1991]
| Subtopic: functional format as sequence
Quote: a program is a sequence of steps even when represented as a functional form; e.g., nested functions and parameters [»wirtN1_1966]
| Subtopic: virtual machine
Quote: one programs for a virtual machine defined by hardware and other software [»parnDL8_1971]
| Subtopic: words, music, and dance as sequence
Quote: a music composer does not attempt to describe the sounds or feelings occasioned by sound; instead writes a sequence of commands for recreating the experience [»browGS_1972]
| Quote: if I could tell you what it meant, there would be no point in dancing it [»bateG_1972]
| Quote: long sequences work fine for words and musical notes but not for communicating computer programs [»cbb_1980, OK]
| Subtopic: too much information
Quote: most projects based on 'think like a computer'; but too much to remember and the rules become too complex [»parnDL12_1985]
| Quote: have ten orders of magnitude between program execution in hours and instruction execution in a microsecond; must have intermediate levels [»dijkEW10_1972]
| Quote: need intermediate levels between a program's execution and an instruction's execution; about a 10^10 ratio; bricks to walls is maybe 10^3
| QuoteRef: cbb_1973 ;;[reading (QuoteRef: wirtN5_1967) don't want to specify more info than one has eg solitaire game
| Subtopic: program hides the problem
Quote: problem information, as translated into computer-level instructions, is no longer visible in the program [»abboRJ8_1987]
| QuoteRef: cbb_1973 ;;10/2/73 need new way to write programs-- they force line, is keeping bad part about computers
| Subtopic: program encodes state
Quote: when coding a statement, the programmer must recall program states and evaluate the changes for multiple cases [»snelJL7_1997]
| Quote: callback-based programming was difficult to teach through SUIT; accustomed to using program flow to encode state [»pausR10_1992]
| Quote: a programmer identifies the taxa (conditions) for actions and convert them into a linear code sequence [»vessI1_1986]
| QuoteRef: cbb_1973 ;;1/29/74 assembly language is more of a process, only as follow its paths do you see how it behaves
| QuoteRef: cbb_1973 ;;8/9/75 problems of preset day programs is that they are loosely connected
| Subtopic: language design independent of hardware
Quote: the purpose of a computer is to execute our programs, not vice versa [»dijkEW3_1976]
| QuoteRef: hehnEC_1977a ;;6 "we cannot allow our language designs to be led by the instruction sets of current computers
| Subtopic: programming not abstract, dynamic vs. static
Quote: a programming language provides functions without an abstract representation; e.g., 'and' is also modulo by power of 2 [»wirtN3_1976]
| QuoteRef: dijkEW3_1968 ;;147 conceptualize in terms of static relationships not dynamic relationships
|
Subtopic: programming requires representation decisions
Quote: commitment of representation decisions is the inverse of abstraction; program derivation is a sequence of commitments [»scheWL9_1983]
| Quote: every aspect of a program is liable to change, but languages require details to be fixed; use macros
|
Related Topics
Topic: declarative vs. procedural representation (54 items)
Topic: descriptive languages (22 items)
Topic: machine code and assembly language (49 items)
Topic: program execution (8 items)
Topic: programming language (29 items)
Topic: spatial vs. temporal representation (21 items)
|