Topic: source-rich system

topics > computer science > Group: systems

goals for a programming system

incremental development
open systems
program listing
program source as truth
public domain software
software documentation
type reflection and introspection
understanding systems
user maintenance
using a computer as a communication/information medium


A source rich system contains all the information needed to understand the system. A user should be able to understand the source and make modifications. The source forms a complex, interconnected document of programs, user manuals, and documentation.

Some systems include full source. This allows users to fix problems and make enhancements. One problem is that the source may be difficult to understand. Even with source, the system may do something entirely different than what is specified. (cbb 4/98)

Subtopic: understandable system up

Quote: open system is understandable: reasons for action, help, commands [»robeG5_1981]
Quote: programming systems will contain a base of knowledge about the application, potential components, and programming concepts [»winoT7_1979]
Quote: a programming system should provide a uniform framework for information that now appears in documentation, declarations, and assertions [»winoT7_1979]
Quote: a system has uniform closure if every component can access every other component, including their descriptions [»smitDR11_1985]

Subtopic: source code as truth up

Quote: source code is the truth about a system; defines its worldview, underlying assumptions, and hidden limitations and strengths [»weisM11_1987]
Quote: because of repeated modifications, a program text must contain everything that makes it understandable [»wulfWA_1977]
Quote: software errors often occur when information is lost because it is not part of the program [»howdWE1_1990]
Quote: a programmer needs to maneuver through a space of descriptions to view the interconnections
Quote: if possible, use the programming language instead of writing a comment [»stroB_1991]
Quote: if we have complete source code then the correctness of a system is completely knowable [»weisM11_1987]

Subtopic: open source up

Quote: the EDSAC book includes code for the principal library subroutines. It served as a model for early programmers [»wilkMV_1951]
Quote: all information should be free; otherwise can't fix things when there's a problem [»levyS_1984]
Quote: complete source code substantially contributes to understanding a system and its place in our lives [»weisM11_1987]
Quote: Unix source is always available and easily modified; encourages revisions and rewrites [»ritcDM7_1978a]
Quote: programmers should have access to source code just as an auto mechanic can look at the engine [»weisM11_1987]
Quote: source-sparse programs is like kitchen appliances with only vague labels to distinguish them [»weisM11_1987]
Quote: access to source code does not violate information hiding because access is to people, not modules [»weisM11_1987]

Subtopic: programming and database as complex document up

Quote: programming, writing documentation, and building databases are all for producing a large, complex document [»mashJR_1976a]

Subtopic: customization up

Quote: a transparent system is easy to customize [»robeG5_1981]
Quote: a user should be able to observe and manipulate every accessible component [»ingaDH8_1981a]

Subtopic: compiler data up

Quote: want easy access to program information that is derived by compilers

Subtopic: persistant input and output up

Quote: Oberon parameters are typically displayed, and command output is non-volatile with a visible representation; everything is accessible [»wirtN9_1989]

Subtopic: on-demand modification up

Quote: the entire Self environment is available for direct deconstruction or modification; e.g., add a resize button to a simulation from the resize entry on a menu [»smitRB10_1995]
Quote: Self allows modification at any time; most interface builders separate editing from running the interface [»smitRB10_1995]
Quote: Self outliners present all the state and behavior available to an object through itself and its parents

Subtopic: problems with source code up

Quote: you do not want to look at source code even if it is readily available
Quote: you can only trust code that you create; source-level verification or scrutiny can not catch unsecure code

Related Topics up

Group: goals for a programming system   (21 topics, 983 quotes)

Topic: incremental development (74 items)
Topic: open systems (33 items)
Topic: program listing (14 items)
Topic: program source as truth (17 items)
Topic: public domain software (9 items)
Topic: software documentation (64 items)
Topic: type reflection and introspection (28 items)
Topic: understanding systems (48 items)
Topic: user maintenance (13 items)
Topic: using a computer as a communication/information medium
(32 items)

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