Map
Index
Random
Help
th

QuoteRef: edwaJ10_2005




Group:
program representation
Topic:
understanding systems
Topic:
spreadsheet
Topic:
spatial vs. temporal representation
Topic:
visual programming
Topic:
pointer machines
Topic:
value as an object
Group:
function
Topic:
object-oriented prototypes
Topic:
function call
Topic:
pointers to data
Topic:
variable as reference to a value
Topic:
aliasing
Topic:
change notification
Topic:
expression language
Topic:
data flow languages
Topic:
functional side effects
Topic:
names independent of objects
Group:
naming
Topic:
names as place holders
Topic:
binding of names to objects
Topic:
early vs. late binding
Topic:
separate a module's interface specification from its implementation
Topic:
localized understanding
Topic:
names defined by context
Topic:
program construction by walk-through
Topic:
definition by example
Topic:
reusable programming
Topic:
vivid representation of programs

Reference

Subtext: uncovering the simplicity of programming, OOPSLA'05 Conference Proceedings. 20th Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications, San Diego, California, USA, October 2005, ACM Press, pp. 505-518. Google

Quotations
505 ;;Quote: programming is inhumanly hard; because text strings are a poor representation for programs
505+;;Quote: use copying to make programming more like a spreadsheet than a keypunch; representation = execution; free of the limits of paper
506 ;;Quote: represent a program as a tree of structure and reference nodes; a reference points to a node (its value); leaves are empty structures (atomic values); nodes have a descriptive label, e.g., "3256" for an atomic value
506 ;;Quote: functions in Subtext are structures that react to change; changing a subnode changes the result
506 ;;Quote: create new Subtext nodes by copying from a prototype; instantiates data structures and calls functions
507 ;;Quote: a reference to a structure is a constant, its value; a reference to a reference is a variable, resolved to a constant
507+;;Quote: changes to a structure propagate to all of its references, both direct and indirect
507 ;;Quote: represent a link with a compass widget; on visit, the indicator tick extends to the link's source; need mouse to appreciate the dynamic display of reference
508 ;;Quote: programming traditionally uses two kinds of data flow -- expression nesting and variable assignment and reference; leads to side-effects and multi-value wrappers
508+;;Quote: Subtext has a single kind of data flow -- a graph of structure and reference nodes
509 ;;Quote: in Subtext, explicit links are primary; every label could be 'foo'; links are immediately-bound; stored in a database while editing
509+;;Quote: traditional programming requires the constant invention of unique names just to create structure
509 ;;Quote: instead of compile-time or run-time binding, Subtext binds immediately; changes are globally replicated with recomputation as needed
509+;;Quote: Subtext achieves functional abstraction without hiding meaning behind the delayed binding of indirect reference
509 ;;Quote: names are too rich in meaning to waste on talking to computers; Subtext frees names from syntax
509 ;;Quote: Subtext labels depend on the human ability to disambiguate labels by their context; labels are not unique
509 ;;Quote: with Subtext, every function is an example of its execution; every node has a value
513 ;;Quote: Self showed that copying (i.e., prototypes) was a unifying basis for programming
513+;;Quote: Self promulgated the principles of concreteness, uniformity, flexibility, and immediacy

Related Topics up

Group: program representation   (25 topics, 659 quotes)
Topic: understanding systems (48 items)
Topic: spreadsheet (28 items)
Topic: spatial vs. temporal representation (21 items)
Topic: visual programming (32 items)
Topic: pointer machines (17 items)
Topic: value as an object (29 items)
Group: function   (12 topics, 232 quotes)
Topic: object-oriented prototypes (39 items)
Topic: function call (28 items)
Topic: pointers to data (55 items)
Topic: variable as reference to a value (21 items)
Topic: aliasing (28 items)
Topic: change notification (19 items)
Topic: expression language (14 items)
Topic: data flow languages (33 items)
Topic: functional side effects (11 items)
Topic: names independent of objects (34 items)
Group: naming   (32 topics, 789 quotes)
Topic: names as place holders (4 items)
Topic: binding of names to objects (19 items)
Topic: early vs. late binding (15 items)
Topic: separate a module's interface specification from its implementation (86 items)
Topic: localized understanding (43 items)
Topic: names defined by context (36 items)
Topic: program construction by walk-through (26 items)
Topic: definition by example (26 items)
Topic: reusable programming (77 items)
Topic: vivid representation of programs (22 items)

Collected barberCB 2/06
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.