Conceptualizing Programming

  • The Philosophy of Software: The computational subject that went through Bildung (ie university) and is able to unify knowledge through computational methods.
  • The Psychology of Programming:
    • “Topics include egoless programming, intelligence, psychological measurement, personality factors, motivation, training, social problems on large projects, problem-solving ability, programming language design, team formation, the programming environment, and much more.” (Weinberg)
    • “It is desirable to achieve a programming performance such that creating a program meets its specifications, is on schedule, is adaptable for the future and runs efficiently. Being able to satisfy all these goals at a low cost is a difficult and common problem in software engineering and project management. By understanding the psychological aspects of computer programming, we can better understand how to achieve a higher programming performance, and to assist programmers to produce better software with less error.” Psychology of programming - Wikipedia
  • Sociology: GoĂ»t, Prise et Plis as a way of getting to know something, almost as in aquiring the taste of something
  • Coding as World-Making
  • Programming as Embodied Practice
  • Ludic Qualities of Programming
  • Source Code as Text
  • Code as Documentation

Coding as World-Making

“Given the role of knowledge production in world making, digital humanities can be understood as a world-making project as well. In his controversial article “Hello Worlds,” which argues that humanities students should learn how to code, Matthew Kirschenbaum describes programming as “a unique and startling way of looking at the world 
 in fact, a kind of world-making.”38 The coder becomes the world maker, charged with defining the rules and characteristics of the world, articulating “the behaviors of an object or a system from the ground up.”39 This apt description of programming evinces the colonial dynamics of knowledge production, akin to Edward Said’s contention that Orientalist scholarship almost invented the “Orient” for Europe.40 Kirschenbaum’s description of world making also evokes the processes of knowledge creation in digital humanities. He argues that “programming is about choices and constraints, and about how you choose to model some select slice of the world around you in the formal environment of the computer.”41 The world making of programming, for Kirschenbaum, is intimately linked to producing humanities knowledge. The building blocks of syntax, actions, subjects, and objects are elements that create both computer models of the world and the plots of literature alike.42 In defining “world,” Kirschenbaum is careful to distinguish between the world of the program and the world around us: a world is “something very much like a model, a selective and premeditated representation of reality, where some elements of the real are emphasized and exaggerated, others are distorted and caricatured, still others are absent altogether.”” (Risam, 2019, p. 33)

“Therefore, world making in digital humanities fosters the proliferation of many worlds, reflecting what Kirschenbaum describes as how “reality can be sliced and sampled in an infinite variety of ways.”44 This raises the question, however, of whether these worlds are reproducing the hegemonies of the “real” world and whether other worlds are possible.” (Risam, 2019, p. 33)

Risam, R. (2019). New digital worlds: Postcolonial digital humanities in theory, praxis, and pedagogy. Northwestern University Press.

Programming as Embodied Practice

See Donick, Mario. 2022. “Die Freude Am Quelltext - Über/Strom.” September 17, 2022. http://www.ueberstrom.net/die-freude-am-quelltext.html.

Ludic Qualities of Programming

tbd

Source Code as Text

Critical Code Analysis treats code not only as functional but as a cultural artefact written by and for humans, as text. But to what extend can it be treated as text? Is text in a literary sense or does it lean rather towards text in Foucauldian sense, as in something that can be read and analysed towards meaning?

In my tests on using Distant Reading the VICE Source Code I figured on of the biggest problems to be the non-linearity of sourcecode. There is no clear beginning and no clear and, instead, sourcecode is highly networked and referential. Parts are included and reused, moduralized and broken up into pieces. That makes it pretty tough to read linear patterns from it, as the sourcecode is not sortable.

Code as Documentation

If code is the result of a Situated Practice, then it is also a documentaiton of this practice.

Indigenous Perspectives On Computing