Topic: software tools

topics > computer science > programming > Group: software engineering

goals for a programming system

embedded systems
program module as encapsulation
examples of programming environments
fixed logic language
identifying program modules
information filters
predefined program units
processing a sequence
programming environment
specific purpose computer systems
uniform representation of files and sequences
Unix pipes


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 up

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 up

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 up

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 up

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 up

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 up

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 up

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)

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