Towards a hermeneutic definition of software


Ricoeur and the philosophy of technology

I have distinguished five criteria that a good definition of software must respect. I have then underlined the fact that all these criteria have two characteristics in common: the written form and the effectiveness. In the present section I further clarify the meaning of the term “writing” for software by using Ricoeur’s hermeneutic model. In the next section, I will analyze the other aspect of this particular form of writing that is software: its effectiveness, or performativity, i.e., the fact that software becomes what it says.

How can we use Ricoeur’s hermeneutic phenomenology to understand technology? What do text and software have in common? As Kaplan (2006) points out, Ricoeur has never been directly interested in technology; in his work we do not find a specific analysis of the technological revolution that marked the twentieth century. In few passages disseminated in his books, Ricoeur seems to mainly share the Heideggerian vision of technology which is pessimistic and apocaliptic. Nonetheless, Ricoeur’s hermeneutics can offer us powerful tools for understanding technology, especially digital technology. In fact, technology creates new cultural and social meanings. “The empirical approach to technology studies understands it hermeneutically and contextually: technology must be interpreted against a cultural horizon of meaning, like any other social reality” (Kaplan, 2006, p. 49). From this point of view, “Ricoeur’s work becomes extremely helpful for understanding it philosophically […]. Ricoeur’s hermeneutic philosophy provides a model for interpreting the meaning of technological practices” (Kaplan, 2006, p. 49). This means that Ricoeur’s hermeneutics provides a model for analyzing the cultural practical and social meanings of technology. Furthermore, as other authors point out (Romele, 2015, 2017; Romele and Severo, 2016; Coeckelberg and Reijers, 2016; Gransche, 2017), technology has an intrinsic narrative dimension and contributes to public and social narratives. From this point of view, Ricoeur gives us a hermeneutic model to analyze the narrative and imaginative dimensions of digital technology.

I share these readings of the Ricoeurian hermeneutics. I think that Ricoeur can make a very important contribution to one of the most interesting perspectives in the contemporary philosophy of technology: post-phenomenology.

Postphenomenology is “a particular mode of science-technology interpretation” Ihde writes (Rosenberg and Verbeek, 2017, p. 1). This approach combines the style of Husserl’s phenomenological investigation and the tradition of American pragmatism. Science and technology are conceived as a fundamental mediation between the human being and world. They shape our way of relating to and thinking of the world. For example, in Ihde, the main exponent of post-phenomenology, the relationship between technology and the human being is conceived in four ways: embodiment relations (when a technology is “embodied,” a user’s experience is reshaped through the device), hermeneutic relations (the use of a device involves an interpretation), and alterity relations (we relate to the devices in a manner somewhat similar to how we interact with other human beings)Footnote 4 and background relations (the devices define the environment in which the subject lives). Therefore, technologies have to be understood in terms of the relations human beings have with them, not as entities “in themselves.”

By focusing on mediation, postphenomenology reconceptualizes the intentional relation in two distinct ways. “First, it investigates its fundamentally mediated character. There is no direct relation between subject and object, but only an ‘indirect’ one, and technologies often function as mediators. The human–world relation typically is a human–technology–world relation” (Rosenberg and Verbeek, 2017, p. 12). Secondly, postphenomenology “does away with the idea that there is a pre-given subject in a pre-given world of objects, with a mediating entity between them. Rather, the mediation is the source of the specific shape that human subjectivity and the objectivity of the world can take in this specific situation. Subject and object are constituted in their mediated relation” (Rosenberg and Verbeek, 2017, p. 12). Hence, intentionality is not a bridge between subject and object, but rather a fountain from with the two of them emerge. Starting from this rereading of intentionality, postphenomenology develops a relational ontology.

Now, Ricoeur’s hermeneutics arises properly from a critique of the classical concept of intentionality in Husserl (Ricoeur, 1986). Language is the fundamental mediation that allows us to get in touch with ourselves, with others and the world. But language is first of all symbol, metaphor, and text (Ricoeur, 1975, 1986b); it is polysemic, ambiguous, and must be interpreted. For Ricoeur, language is not merely a set of fixed rules, but mainly a product of the imagination. However imagination is not a subjective phenomenon; it is an extremely complex social, cultural, and ontological process, which develops through sedimentation and innovation (Ricoeur, 1983). This idea can be applied to Ihde’s notion of mediation: technology is an imaginative process whose stratigraphy has to be reconstructed. The Ricoeurian theory of imagination, which is mainly inspired by Kant, is a useful tool for understanding how digital technology and the “datafication” of society mediates between humans and the world. It reinforces and unifies the five criteria we have described above.

Software as text

The purpose of this section is to apply Ricoeur’s text model to the notion of software. I claim that software itself is hermeneutic in its structure.

The core concept of Ricoeur’s hermeneutics of text is that of distancing or “distanciation.” In the case of the text, the distancing refers to how meaning gains autonomy from (1) the intention of the original author, (2) the original world of circumstances in which the author wrote or which s/he wrote about, and (3) the original readers of the text when it was first produced (for instance, the Greek community who listened to or read Homer’s Odyssey). Writing is the condition of possibility of distancing.

For Ricoeur, writing is not simply a technical fact, but an essential hermeneutical factor. Ricoeur defines the text as “written discourse.” Through writing, the language becomes autonomous and thus opens up to endless interpretations: This process is the text. However, in this process “distanciation” is always connected to what Ricoeur calls belonging, or, following Gadamer’s terminology, “appropriation.” The autonomy of the text is the condition for the text to be read and understood by several readers, who re-read their own experiences through the text and transform its meaning. From this point of view, following Heidegger and Gadamer, Ricoeur talks of a “dialectics between distanciation and appropriation.” He overcomes the structuralist point of view on text and literature by arguing that the discourse can never be completely reduced to its syntactical and grammatical structures. “Structuralism was correct that texts have a structure. But this structure varies depending on the kind of discourse inscribed in the text, so discerning that structure and how it contributes to shaping that discourse helps one identify the discourse as being of a certain type or genre” (Pellauer, 2016). The language “goes beyond itself” because it is essentially mediation between the subject and herself/himself, between the subject and other subjects and between the subject and the world. Therefore, language is not only a set of symbolic structures that are “internal” to the text, but also a movement that refers to the external world and the reader’s praxis (see Ricoeur, 1965, 1969, 1986b).

In his most influential works on hermeneutics, Ricoeur mentions two concepts: “explaining” and “understanding.” The first is taken up by Dilthey and Weber and indicates the method of exact sciences, while the second is taken up by Heidegger and Gadamer and has an ontological and existential sense. The aim of “explaining” is objectification and causal explanation. The “understanding” concerns meanings and the relation between meanings and subject’s existence. Ricoeur tries to overcome a merely dualistic view of these two concepts. He proposes to articulate them into a single hermeneutical model: it is necessary to “explain more in order to understand better.” This means that the methods of disciplines such as linguistics and literary criticism, which treat the text as an object by analyzing its structures, must be integrated into a broader ontological understanding. The text is written and thus it is an object with specific structures. This justifies the possibility of the objectifying approaches. However, the text is not just an object. Thanks to its structures, the text “projects a world,” says Ricoeur. In this world, the subject recognizes himself/herself and his/her way of being. Imagination plays an essential role in this process (see Ricoeur, 19831985). The imaginative work of the reader responds to the imaginative work of the text. As we read in Ricoeur (1975), the text is defined as “a heuristic model” given to the reader, i.e., a tool that allows the reader to discover new aspects of her/his experience and praxis. Imagination makes the reader able to translate what the text tells him/her into his/her existence and praxis. As Kearney (2006, p. 16) claims, Ricoeur “argue[s] that the meaning of Being is always mediated through an endless process of interpretations—cultural, religious, political, historical, and scientific. Hence Ricoeur’s basic definition of hermeneutics is the art of deciphering indirect meaning”.

By using Ricoeur’s hermeneutical model, I underline three points:

(a) Software can be interpreted as a higher degree of “distanciation”: In software, a language (a set of characters and rules) becomes autonomous with respect to its author, the circumstances and the original readers. Hence it becomes an autonomous subject capable of acting in the world and establishing relationships with human beings or other machines. In software, writing is independent of any possible reading. I have already quoted Chun (2013, p. 91), but it is useful to repeat that “for a computer, to read is to write elsewhere.” Software is then the realm of pure writing.

(b) Software behaves like a text: In software the dialectics between “distanciation” and “appropriation” is realized through different layers. Some layers are material, others immaterial, some visible, others invisible, some imply the participation of the human being, others do not. I propose an overview in the Fig. 1. A movement of increasing abstraction is realized through these levels. The language becomes less human and closer to the machine, until it becomes pure machine code, that is, binary language. The binary code is included and executed by the machine, the CPU. Through these levels a translation process takes place: the user gives a command, this command is defined by an interface and then expressed in HL language. The code string in HL language is translated into a compiler, that is, in another language, which completely restructures the code in order to make another translation possible, the one in to the machine code. These steps are purely “internal,” syntactic and structural—as computer science shows (see Turner, 2018).

Fig. 1: The different layers that compose a software system.

Some layers are material, others immaterial; some are visible, others invisible. From top to bottom the abstraction increases.

The lowest level, “Users,” is the level of all those—humans or machines—who have not designed and built software, but only use it. It is a visible level as it involves all the social, psychological, economic, and political effects of using software. “Code costs money and labor to produce, and once it is written requires continual inputs of energy, maintenance, and labor to keep functioning. […] the political economy of software cannot be ignored” (Berry, 2011, p. 61). Software is a social reality deeply connected to the last decades of capitalist economy.

The next level is that of design, i.e., the iterative loop that involves software creation (the planning, analysis, design, development, testing, etc.) and marketing. Here I refer to Latour’s “trial of strength” (Latour, 1987) to emphasize how essential the testing phase is in particular. Software is never the product of an individual, but always a collective and collaborative endeavor, which involves different kinds of activities and actors. These documents translate the design phase into a written form.

At the next level we have the code itself, consisting of a formal language for the description and the realization of the software tasks. The HL language is written in a specific code and its strings still contain the interpolation of the comments of programmers in natural language that explain in detail how the code works.

There are two intermediate levels between the HL language and the machine core, the CPU. The first one is the operating system, which “forms the host machine on which a high-level programming language is implemented” (Gabbrielli and Martini, 2010, p. 22). The second is the set of languages that translate—re-write—the HL language into machine language, or machine code. Indeed, the machine code must be binary because the CPU can understand only strings of 1s and 0s. Therefore the HL programs must be “translated” into machine code to be implemented. Then the machine code is translated into electrical voltages. “Programmers use high-level language to develop application program; in order for the program to become an executable form, it must be converted in machine code (binary)” (Elahi, 2018, p. 161).

As I said above, re-writing the HL program into machine code is the task of another language, the compiler, which restructures and re-write the entire program.

Through a complex procedure of lexical, syntactic and semantic analysis, the compiler produces an intermediate code, the assembly language, which is subjected to an optimization process. The assembly is called a low-level language”.Footnote 5 This is not an exact translation: the compiler integrates the program by modifying it—for example, by identifying errors or making interpolations. The compiler/assembler allows the translation of the HL program into machine code. These strings correspond to the operations to be performed by the CPU. At this point software is actually realized; it performs its function. “Each of these instructions tells the computer to undertake a simple task, whether to move a certain piece of data from A to B in the memory, or to add one number to another. This is the simplest processing level of the machine, and it is remarkable that on such simple foundations complex computer systems can be built to operate at the level of our everyday lives” (Berry, 2011, p. 96).

The process is summarized in Fig. 2.

Fig. 2: The software translation process.
figure2

The diagram represents the transition from a HL program to its restructuring in terms of a compiler language and then of machine code.

(c) As we can see, software is a network of writing and re-wrting: pre-code → HL language → compiler/assembler → code machine. From praxis (design loop) to praxis (actions implemented by a machine) through a series of translations. Now, this movement of internal structuring of software that proceeds from the the user to the code, from the world to the machine, is connected to another movement, another level of translation, which goes in the opposite direction: from the code to the user, from the machine to the world. The machine code is translated into electrical impulses and, therefore, into actions in the world. This is a hermeneutical circle. Software distances itself from the world (HLL-assembly-machine code), but only in order to return to the world and transform the concrete experience of the subject, i.e., the user.

Like a novelist, the programmer defines a sequence of actions and interactions and, by using writing, gives a certain autonomy to her/his history/program. The program is then translated into a series of actions. It becomes alive and acts like any other agent in the social world. In the translation of the machine code into electrical impulses, software returns to the user and therefore to the world. This is the “software appropriation.” The modality of this appropriation is not reading: The user does not read the code. The user interacts with the machine. Appropriation is interaction. Software gives us new model of praxis by acting. In other words, I would say that software realizes the deep desire that animates every type of text.

Now, as Ricoeur says, the wider the distancing, the more intense the movement of belonging. The distancing movement of software corresponds to new forms of appropriation, much more complex than simply reading the text. Software “projects” an imaginative world in front of us simply “doing it,” i.e., “building it.” The subject interacts with software and this mutual shaping transforms her/his experience of the world, namely, her/his way of acting and thinking of- and in- this world.

Hence, I claim that software is a hermeneutical process which is organized in two phases: (1) the explaining, i.e., the internal structuring in several layers of writing; (2) the understanding, i.e., the execution, that is the interaction with the subject-user. I explore this second layer in the next section.



Source link

Leave a Reply

Your email address will not be published. Required fields are marked *