Information Technology Reference
In-Depth Information
C OMPONENTS ARE AGENTS OF ACTION IN A CAUSAL UNIVERSE .
P ROGRAMS OPERATE IN HISTORICAL TIME .
P ROGRAM STATE CAN BE MEASURED IN QUANTITATIVE TERMS .
C OMPONENTS ARE MEMBERS OF A SOCIETY .
C OMPONENTS OWN AND TRADE DATA .
C OMPONENTS ARE SUBJECT TO LEGAL CONSTRAINTS .
M ETHOD CALLS ARE SPEECH ACTS .
C OMPONENTS HAVE COMMUNICATIVE INTENT .
A COMPONENT HAS BELIEFS AND INTENTIONS .
C OMPONENTS OBSERVE AND SEEK INFORMATION IN THE EXECUTION ENVIRONMENT .
C OMPONENTS ARE SUBJECT TO MORAL AND AESTHETIC JUDGEMENT .
P ROGRAMS OPERATE IN A SPATIAL WORLD WITH CONTAINMENT AND EXTENT .
E XECUTION IS A JOURNEY IN SOME LANDSCAPE .
P ROGRAM LOGIC IS A PHYSICAL STRUCTURE , WITH MATERIAL PROPERTIES AND
SUBJECT TO DECAY .
D ATA IS A SUBSTANCE THAT FLOWS AND IS STORED .
T ECHNICAL RELATIONSHIPS ARE VIOLENT ENCOUNTERS .
P ROGRAMS CAN AUTHOR TEXTS .
P ROGRAMS CAN CONSTRUCT DISPLAYS .
D ATA IS A GENETIC , METABOLIZING LIFEFORM WITH BODY PARTS .
S OFTWARE TASKS AND BEHAVIOUR ARE DELEGATED BY AUTOMATICITY .
S OFTWARE EXISTS IN A CULTURAL / HISTORICAL CONTEXT .
S OFTWARE COMPONENTS ARE SOCIAL PROXIES FOR THEIR AUTHORS .
Fig. 9.4 Conceptual metaphors derived from analysis of Java library documentation by Blackwell
( 2006b ). Program components are described metaphorically as actors with beliefs and intentions,
rather than mechanical imperative or mathematical declarative models
while they worked. These self reports are rich and varied, including exploration of
a landscape of solutions, dealing with interacting creatures, transforming a dance of
symbols, hearing missing code as auditory buzzing, combinatorial graph operations,
munching machines, dynamic mapping and conversation. While we cannot rely on
these introspective reports as authoritative on the inner workings of the mind, the
diversity of response hints at highly personalised creative processes, related to phys-
ical operations in visual or sonic environments. It would seem that a programmer
uses metaphorical constructs defined largely by themselves and not by the com-
puter languages they use. However mechanisms for sharing metaphor within a cul-
ture do exist. Blackwell ( 2006b ) used corpus linguistic techniques on programming
language documentation in order to investigate the conceptual systems of program-
mers, identifying a number of conceptual metaphors listed in Fig. 9.4 . Rather than
finding metaphors supporting a mechanical, mathematical or logical approach as
you might expect, components were instead described as actors with beliefs and
intentions, being social entities acting as proxies for their developers.
It would seem, then, that programmers understand the structure and operation of
their programs by metaphorical relation to their experience as a human. Indeed the
feedback loop described in Sect. 9.2 is by nature anthropomorphic; by embedding
the development of an algorithm in a human creative process, the algorithm itself
becomes a human expression. Dijkstra strongly opposed such approaches:
Search WWH ::




Custom Search