(dernière modification : )

Notes de lecture

Software studies, a “critical and experimental field that is at once culturally and technically literate.”

Without access to the code, whether because it is proprietary or generated on the fly, as in the case of some machine-learning algorithms, analysts can only comment on the apparent operations of the code based on its effects. The operations of the code are left in the hands of those who can access it, usually those who have made or maintain it, and those who can read it. ==If code governs so much of our lives, then to understand its operations is to get some sense of the systems that operate on us.== If we leave the hieroglyphs to the hierarchs, ==then we are all subjects of unknown and unseen processes==. (p. 4)


reading code requires a new set of methods that attend to its specific contexts, requirements, and relationships. (p. 5)


But des Critical Code Studies:

As Alan J. Perlis writes in the foreword to Harold Abelson and Gerald Jay Sussman’s foundational Structure and Interpretation of Computer Programs, ==“Every computer program is a model, hatched in the mind, of a real mental process. These processes, arising from human experience and thought, are huge in number, intricate in detail, and at any time only partially understood”== (1996, xi). ==Unpacking== the meaning of these programs locked in their technosocial context is the job of critical code studies (CCS).

Style and technical validity clearly take priority in this coding community, at once identifying both the centrality of functionality in this unambiguous form of expression and the way that emphasis obscures other aspects of its communication. ==Critical code studies seeks to explore making these secondary meanings primary.== (p. 12)


«intercodalité»/intertextualité/inter-textualités numériques:

code-reading practice (==code read by comparison to other code==)


Certains universitaires se sont déjà intéressé aux études logiciel (Kittler, Lessig, Adrian MacKenzie, Florian Cramer, Loss Pequeño Glazier, Alan Liu, Alexander Galloway), mais leurs travaux n’ont pas inclu des exemples d’interprétation du code.


La documentation est un pilier des code studies:

To explore code, a scholar should first read the code and its documentation to determine what the code does. (p. 27)


Code is always Work In Progress:

Perhaps it can be said of code what da Vinci said of art: It is never finished, merely abandoned, meaning that code as a unit of mechanisms is always partial and potential.


the walls of a computer do not remove code from the world but encode the world and human biases. (p. 33)


As a new media scholar trained in literary theory, I would like to propose that we no longer speak of the code as a text in metaphorical terms, but that ==we begin to analyze and explicate code as a text, as a sign system with its own rhetoric, as semiotic communication that possesses significance in excess of its functional utility==. (p. 39)


3 axes aux CCS:

Critical code studies is an approach to code studies that applies critical hermeneutics to the interpretation of computer code, program architecture, and documentation within a sociohistorical context. (p. 39)

(les fichiers d’un programme informatique sont des documents)


Les critical code studies vont au-delà du simple «décodage», ils ont une spécificité proprement humaniste qui produit un type de savoir nouveau: l’herméneutique.

Interpretation then is not merely decoding but ==the production of another kind of knowledge: insight==. (p. 43)


L’interprétation et la signification peuvent se situer à différentes couches (d’où la multiplicité des interprétations, voire l’ambiguïté de certains termes qui n’ont pas le même sens selon le niveau):

Therefore, though no one level of the code is more meaningful than any other, every level of the code and hardware is a potential source of meaning. (p. 48)


we who are setting out to explore and develop critical code studies have developed a few practices. The first practice is the acknowledgement that ==code is an entry point to an investigation rather than an end in itself==. (p. 48)

le code doit être lu

le code doit être contextualisé (il ne doit pas être étudié hors du contexte dont il émerge, où il se développe, contrairement aux herméneutiques qui écartent l’auteur par exemple)


pratique: débugger

the sheer complexity of the system makes the effects of code difficult to predict—==one reason debugging is such a key part of programming==.


technique: mettre l’accent sur certains moments du code

Since I first proposed this idea, some scholars have balked at the idea of reading code. There is simply too much code, they say. I cannot access the code of the object I want to study, they say. To the former complaint, I point back toward critical legal studies, which does not attempt to analyze every word of legal code but ==focuses its energies on particular moments and texts==. To the latter, I point to literary history, in which so many texts have been lost to history, yet scholars continue to read and interpret what we have. (p. 53)


Appel, voire impératif à étudier le code:

==Code increasingly shapes, transforms, and limits our lives, our relationships, our art, our cultures, and our civic institutions.== It is time to take code out from behind quotation marks, to move beyond execution to comment, to document, and to interpret. Let us make the code the text.


Lien entre les licences et la culture populaire en programmation:

==The open-source community becomes a folk through its licenses==, which have become a precedent for the Creative Commons licenses that have so shaped creative symbolic production and circulation on the internet. At the turn of the millennium, Rick Borovoy et al. (2001) described a process they called folk computing, “an approach for using technology to support co-present community building inspired by the concept of folklore” (1). This notion, born of the MIT Media Lab, becomes folk programming. (p. 92)


Incident du Climategate:

The expert programmers like Eric Raymond who saw scandal in this code were not misunderstanding what the code did but why. ==This incident marks the moment at which code emerges as a medium for political discourse.== The debates that ensued after the leak of this code reveal the urgency for code literacy at a level of reflection, much more like the reading of literature or history, with thoughtful critique rather than read- ing for function alone. (p. 127)


Lisibilité des langages informatiques:

… a programming language’s clarity grows not from its similarity to spoken languages but ==its ability to render its operations obvious at a glance against the backdrop of symbolic representation== (including written language and mathematical notations), as well as the prevailing programming languages and paradigms.

ce n’est pas tant la ressemblance aux langages naturels qui font la lisibilité du code informatique (comme a essayé Grace Hopper pour vendre son langage FLOW-MATIC).


auctorialité du code informatique:

==authorship has a different meaning when it comes to code== … though Kittler may not be the source for much of this code, there is evidence he got it working and even did some debugging. In the world of programming, as opposed to the world of expository writing, that is authorship enough—not to recreate the myth of the author but to explore the code that was at least handled by this media philosopher. (p. 169)


L’illusion graphique (Kittler and Computer Graphics):

Anticipating today’s discussions of “fake news” and digital media manipulation, ==Kittler argues that computer graphics are prone to falsification to a degree far beyond photography==. He explains that because “a single pixel” on a screen can be addressed and altered without going through all the ones before or after it, ==“the computer image is thus prone to a falsification to a degree that already gives television producers and ethics watchdogs the shivers”== (Kittler 2001, 32). The deception for Kittler goes beyond the manipulation of images produced or edited on the machine and into the interface of contemporary operating systems. Kittler points to the ways, unlike the older display of “white dots on an amber or green background,” that ==operations become invisible in the graphical user interface==. The operating system presents its interface as transparent “windows” or a background “desktop,” even though it is a construction of graphics. These windows are hardly transparent as they keep users, especially those who cannot pass through the windows, subjugated to Microsoft and Apple. (p. 174)


If technology is insufficient, who can intervene? ==Philosophers.== Specifically, philosophers who are willing to enact processes to understand reality, also known as phenomenology. ==Philosophers experiment to understand reality.== For example, Kittler presents Kant’s formulation of Beauty, the “optical gestalt,” as a “mechanism of recognition,” to ruminate on the conditions of ==aesthetic representation==. … ==Thus, in the world of idealized images, the human philosopher must report for duty.== (p. 175)


The goal of this book was to demonstrate some initial approaches to reading code based on case studies …, provocative art projects, the foundational moments in the development of a programming language, and ==the critical making of a media philosopher==. (p. 227)


In many ways, critical code studies speaks to the so-called crisis of the humanities, if one even exists, not by offering English majors coding skills but instead by flipping the script and acknowledging that our ways of knowing, or heuristics, taught in literature, history, art, and cultural studies courses, to name a few, teach a kind of critical analysis of objects that can enrich scientific inquiry—==not by making technology that is better, smaller, faster in some grand progress narrative, but instead by adding new dimensions to that inquiry, most notably questions of meaning and of the implication of coding choices==. It asks the programmer to reflect on a wider field of significance of the choices they are making as they code. It frames the task of computer programming—as it already is—==a site of dialogue and contest, collaboration and cooperation between design and engineering, as well as philosophy, sociology, linguistics, history, art, and many more fields, each bringing rich traditions and methods of exploration==. (p. 228-229)


… the exploration of code is never a neutral activity, free from an epistemology or a world view, and instead to draw upon the interpretive force of these critical theories, to adopt and adapt them for even greater insights. (p. 237)