Statements, Logic, and Control: A summary and critique of Andrew Goffey’s “Algorithm”

2 minute read


Goffey’s paper focuses on teasing out the connection between algorithmic abstraction and the discursive power that the same abstraction represents, if seen as statement rather than just syntax. By opposing a reductionist and functional view of algorithms as descriptive entities, Goffey advocates for embracing abstraction by making the point that, while the push against abstraction is a valid direction when philosophically tackling other scientific spheres such as mathematics — in which abstraction removes the agent from perceiving the realities that such abstraction tries to define and, by doing so, inevitably distorts the main descriptive goal of the abstraction itself — algorithmic abstraction is what makes algorithms unique entities with real-world implications. This approach flips the direction of meaningfulness on its head when discussing algorithms — their abstractive nature is core to their real, pragmatic importance, not the other way around.

Perhaps the most important component of Goffey’s argument is the fact that algorithms are intrinsically connected to the material world. An algorithm without a practical implementation, or without data to process, can hardly be defined an algorithm, since by the most fundamental definition an algorithm is a set of instructions aimed at accomplishing a goal. The essence of algorithms is thus material, but it is also their end result, while their roots are firmly abstract. Algorithms are also to be perceived holistically and systemically — as complex parts of an unimaginably complex whole. I would additionally mention that algorithmic functions, in fact, rarely if ever live in a self-sufficient world — unless it is a classroom. Algorithm in practical implementation is never singular, but a multitude of algorithmic realities, each of them potentially self-sufficient but nevertheless rarely practically useful by themselves, conjoining in systemic patterns that are not defined by an understanding of their function, but by the efficiency of their final computation. This raises questions about “algorithms as statements”: if algorithmic systems are more easily comparable to cells in an organism than to discrete entities, how far does the “algorithm as statement” argument go, and can we cognitively define or describe statements that are composed of unfathomable concepts? Perhaps the “machinic discourse” is the only frame of reference within which it would be possible to understand these systemic statements, and thus cognitively out of reach for non-machinic entities.

The one aspect that I would have wanted the text to analyse further is the paradigmatic nature of algorithmic creation. The “logic” part of “logic and control” descriptors of algorithms stands for the problem description, or definition of the paradigm within which an algorithmic function will produce its sequence of instructions, or “control”. The chosen paradigm not only influences the entire algorithmic existence, it is also intrinsically linked to the sociocultural existence of its creator, or creators. It is a human framework that defines the paradigms within which any algorithm will exist, which essentially means that human-built algorithms are constrained within the human mind-space. This is particularly fascinating from an artistic perspective — questioning and subverting paradigms is a wonderful artistic playground. If we look specifically at Software Arts, this brings us to a third hierarchical level: not only is software itself art, but the choices made when deciding how to define and solve software problems can be an artistic expression as well. This choice of paradigm goes beyond picking a certain programming language over another — it represents a conscious meta-analysis of the choices made when giving birth to algorithmic systems.

Photo by unsplash-logoNick Tiemeyer on Unsplash