| |
Abstract:
(Invited Talk)
Four dialectics underlie all of computing. The first is the
classic relation between mechanism and meaning: how a device that
on the one hand is "mere mechanism" can nevertheless mean things,
represent the world, carry information or significance. The
second has to do with the relation between the concrete and the
abstract: whether computation is fundamentally a physical or
material notion, or whether it is more abstract (even
mathematical). The third involves the relation between the static
and the dynamic: how stable, relatively passive entities, such as
programs and machines, relate to and engender active processes
and behaviour. The fourth involves an interplay between one and
the many: how objects that for some purposes are best treated as
unitary or single are, for other purposes, better treated as
several (one language, many programs; one program, many
executions; one procedure, many call sites; one file, many
copies; one product, many versions; one document, many editions;
etc.).
Different accounts of computing deal with these dialectics in
different ways. Formal symbol manipulation conceptions typically
separate meaning and mechanism, treating the latter abstractly.
Dynamical systems approaches treat computing concretely, and take
time seriously, but (usually) ignore semantics. Ontological
issues of one vs. many are inscribed in all sorts of traditional
distinction (type vs. token, class vs. instance, set vs. member,
variable vs. value, intension vs. extension, etc.), but are
rarely theorised together, as variant species of a common
genus.
No claim is made that these four dialectics are exhaustive.
But characterising computing in their terms, and identifying
distinctive characteristics of each, provides a framework in
terms of which to assess any candidate theory
|