Critical code studies
Bibliography
Marino, M. C. (2020). Critical code studies. The MIT Press.
Abstract
“Critical Code Studies (CCS) names a set of methodologies for the exploration of computer source code using the hermeneutics of the humanities. Like 10 PRINT CHR$ (205.5 + RND (1)); : GOTO 10, Mark Marino’s Critical Code Studies treats code not as merely functional but as a text, one that can be read, and misinterpreted, by non-programmers. As the author notes, code’s “meaning is not determined entirely by the programmer’s intention but also by how it is received and recirculated. That is not to argue that code can be taken out of context or that code means whatever people say it means but rather that the meaning of code is contingent and that code is subject to the rhetorical triad of speaker, audience (both human and machine), and message.” It is time to develop methods of tracing the meaning of code. Computer source code has become part of our political, legal, aesthetic, and popular discourse. Code is being read by lawyers, corporate managers, artists, pundits, reporters, and even literary scholars. Code is being used in political debate, in artistic exhibitions, in popular entertainment, and in historical accounts. As code reaches more and more readers and as programming languages and methods continue to evolve, we need to develop methods to account for the way code accrues meaning and how the readers and shifting contexts shape that meaning. We need to learn not only to understand the functioning of code but the way code signifies. We need to learn to read code critically. Critical Code Studies offers a CCS “starting kit,” a set of techniques that scholars and other interested parties can use to interpret code in a non-computational context”—
Notes
1 Introduction
Code Heard ‘round the World
- on how code is read by different people and what the coders actually intended when writing it
“Code is a social text, the meaning of which develops and transforms as additional readers encounter it over time and as contexts change.” (Marino, 2020, p. 5)
A Job Interview
- juxtaposing two coding solutions to the same problem of randomizing an array in javascript; the first clear, simple and longer and the second short, elegant and harder to read
- then going about how these two can be read completely differently by different people and contexts, outline that people even read the gender of the person behind the code, through the code
- code can express identity
- coders also express themselves differently depending on context or how they have been taught (socially, technically), ie which programming virtues or paradigms they adhere to
“Only the surface challenge asks whether or not the human can speak in a way the computer understands. The deeper challenge asks the programmers to communicate who they are to other humans, as coworkers and collaborators, through their use of code. Their code is not so much a litmus test, proving whether they can perform the task, as it is an essay exam, communicating character through process, values, and approaches to challenging questions.” (Marino, 2020, p. 7)
- going into how code is perceived as a technical solution-seeking act, but creative coding or learning is neglected
- code is actually much more unstable and uncertain then the material world; it’s not math, it’s culture
Protesting in Code
- deep diving a protest sign that was made in the style of C code.
- “encoded chauvinism” is relevant to my hunch on scenes and coding
- going into the details of a web-rendering of a woman in code project, analysing the meaning of the code as well as the rendering
“Nonetheless, code does not have to be extraordinary or difficult to read to be remarkable.” (Marino, 2020, p. 16)
- going into the intersectional feminist foundations of the critical code approach taken by Marino
- have there been women involved in the development of 80ies and 90ies programming languages and tech. environments (graphic chips, keyboards)
Where critical code studies come from:
Semiotics offered tools for analyzing any sign system, and deconstruction complemented that study by poking around in the cracks and fissures. Cultural studies offered a way to take the text off its pedestal, while also helping to change the object of study from “text” as a set of characters to “text” as any cultural artifact. The critical theories aimed at underlying structures of oppression and possibility, from feminism to Marxism, queer theories to postcolonialism and theories of race and racial formation, also provided frameworks for critiques.
CCS is not about discovering hidden truth, but about the exploration of “the significance of the specific symbolic structures of the code and their effects over time if and when they are executed, within the cultural moment of their development and deployment.” There is a very important aspect of contextualisation, within the code’s own time-space. “To read code in this way, one must establish its context and its functioning and then examine its symbols, structures, and processes, particularly the changes in state over the time of its execution.”
Code and comments can point to mental models the developers had in mind when producing the code, ie. in what kind of setting the code will be executed.
Such ambiguity, such indeterminacy, such uncertainty may produce unease in more empirically minded positivists. However, uncertainty is fundamental to the search for meaning. Code may have unambiguous effects on software and the state of the machine, but the implications of those effects are anything but. Exploring and making meaning from symbols requires a letting go of the need for right answers, for that which is empirically verifiable.
What Does it Mean to Interpret Code
interpretation is the systematic exploration of semiotic objects for understanding culture and systems of meaning
Rather, more like the artifact examined in archaeology, the cultural object acts as an opening to a discussion of its significance within the culture that formed it. What aspect of culture and what realm of meaning (or hermeneutic) depends on the disposition of the scholar?
This bit is loaded with importance
Cultural studies scholars do not ask what the Coca-Cola Company intended by choosing red for the color of its cans and logo or what meaning it is hiding in the signature style of the words on the can. Instead, they perform a semiotic analysis on the possible meanings conveyed by those details of the can (the color red, the cursive script) and discuss what the can and, by extension, the company have come to represent.
Semiotic readings of the can differ quite a lot from a rhetoric reading of the can, because latter takes author intent into account.
So CCS is a way to read into cultures, and cultures “have shared texts, shared values and norms, shared vocabularies, and shared tools. As a result, any artifact, object, or text offers a glimpse of the cultures in which it was produced and circulated.”
“Critical code studies names the applications of hermeneutics to the interpretation of the extrafunctional significance of computer source code.”
- Annotations: Critical code studies