21 January 2006

Open-vs-closed code ensembles

is the prototypic
software tool
with menus of tasks
and palettes of tool-icons
for manipulating images

so suppose we design
or PlotShop
with tools for constructing narratives

choose a cast of characters
and plot complications
and keep tweaking the details
until it makes a convincing whole

now this toolkit
should map onto
the ensembles of code fragments
we associated with biographical concepts

and the question arises whether
we can crystallize each ensemble
into a universal superconcept
anticipating every plot variant
in its proper place

but of course we can't

reality is too fluid

and instead we have to
between code and fact
(or code and fiction)
trying different tools
until something fits

but programming languages
generally assume the programmer's goal
is a 'closed' universal superprogram

and leave the programmer
to wrestle with the
indeterminate tool-combinatorics

game a.i. faces the same problem
negotiating between
a set of possible moves
and a more-or-less-known world

containing enemies
who strive to strike
from the least anticipated direction