Group: goals for a programming system
Topic: embedded systems
Topic: program module as encapsulation
Topic: examples of programming environments
Topic: fixed logic language
Topic: identifying program modules
Topic: information filters
Topic: predefined program units
Topic: processing a sequence
Topic: programming environment
Topic: specific purpose computer systems
Topic: tools
Topic: uniform representation of files and sequences
Topic: Unix pipes
| |
Summary
The purpose of programming languages is to produce programs. For this job they are woefully inadequate. Programs take a long time to write, are hard to modify, and difficult to get working correctly. A good tool works smoothly, supports the user's methods, and amplifies the user's efforts. A knowledge tool, like programming, should be oriented around knowledge. The UNIX operating system has placed a strong emphasis on software tool development. Many of its programs can be used directly or recombined through a standard I/O interface. XEROX PARC is developing a personal computer dedicated to user needs. (cbb 5/80)
Subtopic: software tools
Quote: the goal of computer language design is the rapid and easy production of programs that work as intended [»cleaJC_1975]
| Quote: programming languages are not adequate for building computer systems [»winoT7_1979]
| Quote: software tools support problem solving by humans; e.g., PSL does not solve requirements problems, it provides analysis and formatting [»fairRE_1985]
| Quote: local tools are large, simple tools that sit directly on the Pad++ surface; select a tool by clicking on it; recover lost tools by clicking the "tool box" [»druiA3_1997]
| Subtopic: uncommon, but difficult, tasks
Quote: software maintenance tools must account for the long tails of many usage statistics; these are critical cases that need support the most [»perrDE4_1998]
| Quote: excellent acceptance of HyperCode inspections; automatically generated reports, more defects reported, better defect descriptions with discussion, shorter meetings, widely used [»perrDE7_2002]
| Subtopic: simple, universal tools; unix
Quote: construct an operating system by identifying universal tools; allow simple reconfiguration and extension [»bailGV8_1977]
| Quote: each program should do one thing well; create new programs instead of adding features to old ones [»mcilMD7_1978]
| Quote: programming projects tend to use UNIX commands (sort, ed, etc.) for project database management; more flexible than a database system
| Quote: constantly find new uses for UNIX tools in maintaining source programs and text; access provided by PWB [»mashJR_1976a]
| Quote: 1000 UNIX systems even though it was developed by two people in an attic in a year [»kernBW1_1979]
| Quote: UNIX programs have separate functions; e.g., a compiler does not produce listings or cross-references, nor enforce style rules [»johnSC7_1978a]
| Subtopic: filter
Quote: expect the output of every program to become the input of other programs; avoid rigid formats, extraneous information, and interactive inputs [»mcilMD7_1978]
| Quote: filter programming produces an output stream from an input stream; both streams should be general [»kernBW_1975, OK]
| Quote: UNIX pipes encourage small programs that are easily connected; good for human comprehension and computer performance
| Quote: for ease of use in pipelines, Unix tools do not produce extraneous verbiage or require parameters [»ritcDM7_1978b]
| Quote: Waterloo Port uses viewers; a filter that copies stdin to stdout and displays some property or aspect of the text [»malcM12_1983]
| Subtopic: command arguments
Quote: Argv library for parsing command-line arguments as typed variables; each registered Argument processes each command-line switch [»goldO11_2003]
| Subtopic: measure tool effectiveness
Quote: estimate effect of using a tool by recording tool usage, comparing it to change history, analyzing similar developers and modifications with a change effort estimation algorithm [»atkiDL7_2002]
| Quote: build programming tools instead of relying on unskilled help [»mcilMD7_1978]
|
Related Topics
Group: goals for a programming system (21 topics, 983 quotes)
Topic: embedded systems (26 items)
Topic: program module as encapsulation (28 items)
Topic: examples of programming environments (17 items)
Topic: fixed logic language (7 items)
Topic: identifying program modules (26 items)
Topic: information filters (22 items)
Topic: predefined program units (6 items)
Topic: processing a sequence (17 items)
Topic: programming environment (46 items)
Topic: specific purpose computer systems (9 items)
Topic: tools (20 items)
Topic: uniform representation of files and sequences (14 items)
Topic: Unix pipes (10 items)
|