I read Bruno Latour’s We Have Never Been Modern and Reassembling the Social last week for class. Here is what it got me thinking about.
Computer programming, although commonly thought of as involving mathematics, logic, and science, is in practice a creative process for making digital reproductions of non-digital entities and the practices that involve them. Over time, programming paradigms have shifted dramatically in the way that objects, actors and practices have been conceptualized and constructed in code. I was surprised to find striking similarities this week between Latour’s descriptions of the social sciences’ engagement with these concepts and the two most widespread programming paradigms, structured programming and object-oriented programming.
Latour’s the “Sociology of the Social,” which approaches the social as a domain of reality (2005:4-5), is comparable to structured programming. Imagine a small bookstore. From the perspective of the sociology of the social, the bookstore could be considered a social context, in which agents, such as the shopkeeper and customers, interact. The actions of the agents could be explained by economics (the valuation and exchange of books for money), by law (why customers do not leave without paying), or by the social (a conversation between two customers about the merits of a work of fiction or the selection of books purchased by customers). The social scientist practicing the sociology of the social would use the agents as informants and their own expertise to root out the social “behind” these practices (2005:8). Using structured programming, the programmer would begin by identifying the social context to be digitally reproduced, in this case a bookstore. The programmer would then, through her own observations and the information provided by the client (the shopkeeper) and a sample of the users (the customers), outline the large common practices of users within the social context, relying on common, accepted “ingredients” (2005:11) of the social, such as capitalist exchange, affinities based on user identity, or brand loyalty. In the example of the bookstore, the programmer could begin with the practices of shopping and purchasing. Then drill down through each practice, addressing increasingly smaller and more nuanced practices, until the digital experience can be recognized by the user in a way that they can perceive how to act within it. For example, in order for the user to shop, the programmer must construct digital representations of the books, then organize and present the books based on common and accepted systems of book organization (e.g. by genre, alphabetically by author, or by release date). To address the ability of customers to interact and share knowledge about books, the programmer could construct systems for reading and writing reviews. To mimic the the practice of picking a book off the shelf and flipping through it, the programmer could construct a method for selecting a book and reading details about it. Each nested construction, is based on the assumption that their is a social context with certain common and acceptable practices that can be predicted based on knowledge about the context and the users’ backgrounds or identities. This method of programming, like the sociology of the social, that relies so heavily on social norms, social structures and rules, has many “reasonable” uses that are convenient (2005:11). However, like the sociology of the social, structured programming fails when there is innovation in the practices of agents and when there is distance between the user and the application that prevents the user from intuiting appropriate relations.
In contrast to the sociology of the social, Latour presented the sociology of associations, which, rather than seeing the social as a context that encompasses interaction, sees the social as a type of connection between agents (2005:5). Within the sociology of associations, Latour (2005) outlined actor-network theory (ANT), which was developed by Latour and draws heavily on Michel Callon’s (1986) sociology of translation. Actor-Network theory as described by Latour (1993, 2005), is intended to overcome many of the rigid dichotomies and assumptions of earlier social science, including nature-culture, modern-premodern-postmodern, object-subject, and human-object. This is accomplished by flattening the social world (2005:16) so that actors are all on the same level and objects contain a capacity for agency just as humans do and by assigning the social scientist the role of tracing the associations between actors without priorly limiting “the shape, size, heterogeneity, and combination of associations” (2005:11) with theories from the sociology of the social. In the example of the bookstore, the ANT social scientist would work to identify and observe the associations between agents that move, displace, transform, translate or enroll entities through practice (2005:64-65). Rather than seeing a table that displays bestsellers in terms of power, economics or gender, the ANT social scientist would view the table as an agent in associations with the books on it, the store, its signage, and the customer.
Object-Oriented Programming (OOP), like ANT, is focused on entities, their agencies, and their associations. Where structured programming begins with the social world and works down through layers of social practice, OOP begins with objects and then works to make associations between those objects. For example, the OOP programmer might first create a class — classes are empty frameworks that when filled with data become objects — called book. Then, the programmer must determine what are the relevant attributes of a book that would be used in associations with other objects, such as title, author, genre, customer reviews, date of publication, and publisher. Next, the programmer establishes routines that outlines how the object might be altered by its association with another entity, such as a customer. Once the class has been constructed, databases can be used to create an infinite number of similar objects that now have the capacity to act or be acted upon. This process is repeated for every known entity — both human and nonhuman — such as bookshelves, customers, signage, shopkeepers, and credit card machines. With each new class, old classes are reevaluated to establish routines for their associations. The strength of OOP, like ANT, is that it thrives in observing — and, in the case of OOP, creating — within the complex field of innovation, distance, accidents, and breakdowns of actual practice. Users often innovate within the confines of existing associations, such as misusing input forms for writing reviews to create satire that criticises the product (see this $40,000 TV on Amazon.com for a good example of this http://amzn.com/B00CMEN95U). Sociology of the social, would have to reconfigure its understandings of social structure, social order, and social norms, within this social world in order to grapple with this new innovation. Likewise, structured programming, in order to incorporate this new practices would have to completely reconfigure its essential organization. However, as ANT does not see associations as permanent, but rather as needing constant reconstitution through repeated practice. ANT would not need a complete reconfiguration but simply recognize a new association. The OOP programmer would also need not reconfigure its essential organization and structure. Rather, the OOP programmer would need to only add additional routines and attributes to account for the new associations between the customer and book entities.
All this makes me wonder if OOP as a method has some advantages over ANT. While ANT promotes theoretical underpinnings similar to those of OOP, OOP programmers are able to test their observations and adapt them as practice changes. Additionally, OOP has pedagogical space for creating new associations and entities to create new practices that only exist in the digital, opening space for play within the theory.
1986 “Some Elements of a Sociology of Translation: Domestication of the Scallops and the Fisherman of St Brieuc Bay.” In Power, Action and Belief: A New Sociology of Knowledge. J. Law, ed. London: Routledge. Pg. 196-223.
1991 We Have Never Been Modern. Catherine Porter, trans. Cambridge, MA: Harvard University Press.
2005 Reassembling the Social: An Introduction to Actor-Network-Theory. Oxford: Oxford University Press.