Desire-Oriented Programming (Initial Treatment, 2008) Vers. .45 outline

Software ontologies and object-oriented programming both focus on taxonomies and objects to structure software, but what if a motivation of such a focus was to construct a virtual field of desire rather than to simply build an expert system or business logic? Even with technologies such as aspect-oriented programming, which are spread on top of worlds created by OOP, these alternatives only cut into the monumental objects of OOP, as perfunctory verbs.

Indeed, the developer impulse to crystalize software in objects is willed by an underlying cathexis connecting together concrete relations in memory. While historically OOP arises from a need to ensure quality control and prevent software defects, that a highly representational apparatus has accomplished this control says something about human needs to create runtime humanities through tiny, modular simulacra. The classification de l'homme, based upon mental mappings applied to objects in a programming model or architecture, necessitates foregrounding not only the minds from which hierarchical system architectures proceed, but human and non-human desire. In being critically conscious of the connection of representational objects to the taxonomic imagination, the code theorist may then focus on object-building as a set of practices embedded in the unconscious mind and seeping into places formerly reserved only for non-human artifacts.

Object-oriented programming has always provided a simple interpretive test by which to organize classes and objects into two highly abstract ontological roles, that of inheritance and association: how a class or object shares an identity with a super-type, or how a class or object “possesses” another class or object, relations collectively qualified as ‘is a’ or ‘has a’ relations. In addition, the runtime mise en scene of these relations tells its developer not only about identity and possession, but also tell her something about the continuity or contiguity of an object or class in question.

For object-orientation, while following a failure of objects in modern philosophy, also provides the philosophical substrate from which the component view of the universe may be redeemed in a relational one. For an object to be continuous with itself implies that this continuity is a relation of identity. For an object to be a container having sub-entities that are not of this container’s type or that are different instances of its type grouped contiguously within it, implies a relation of possession, or of cathexis, possibly a relation of the containing class to an object of desire.

What then, is the passage by which these constructs in object-oriented programming readily move into the representative classics of the theory of desire, namely Freudian, Lacanian, and Deleuzian notions – and beyond?

Inheritance relations in object-oriented programming reflect the parent-child commerce between possession and identity that Freud articulates in his The Ego and the Id and General Psychological theory.

Executable text is a two-sided Lacanian technological mirror confronted by the desiring body of the programmer that presupposes a gap or ‘lack’ between the signified of runtime and the signifier of raw data.

Alternatives to inheritance in programming are Deleuzian ‘écarts’ away from Freud and Lacan, showing how greatly tied to hierarchy and classification are the analytical constructs of identity and possession, which are, in psychoanalysis proper, instruments of symbolic domination. Painting desiring production as the antithetical image of the ‘daddy-mommy-me’ relation of Freudian psychoanalysis, Deleuze enables the philosophy of networked and non-hierarchical software architectures in the figure of the rhizome.

The concept of polymorphism, which has classically been an effect of runtime type- casting, is a rhizomatic pathway, a ‘chemin’ by which the ultimatum between identity and possession can be inverted, or more importantly, can be folded over onto itself to give an object entity or class entity the properties of identity and possession simultaneously.

Conventions of object oriented programming also move quite easily into the proto-psychology of 18th century natural science, namely Buffon’s imagistic portrait of an Adam or golem acquiring sensation, or Condillac’s statue going from possessing only the sense of smell (l’Odorat) to possessing all five senses.

It is in going back to the 18th century that one is allowed to paradoxically map desire in programming to newer developments in object-oriented languages, such as interfaces used as an alternative to inheritance, and more importantly the use of generics, as in the Java Programming language.

The ontological problem of Condillac and Buffon is how sensation, which is like an economic capital undergoing conversion, can be imprinted on the folds of the brain, a quasi-infinite wax for the storage of instructions, executable as human action once these instructions are persisted to the ‘store’. Buffon's Histoire naturelle vol. II, in its discourse on l’homme, brings us to a being of clay, the moule intérieur (internal mold), which gradually puts the seeming whole of its being for its originary part. And so in Buffon’s image of Adam we have memory finally properly encoded as instructions, analogous to the way in which Java generics allow us to verify, prior to runtime, whether instructions or code will execute without memory leaks. The Adamic ‘first’ statue persists its instructions as memory, but launches these instructions into runtime with full polymorphism of identity and cathexis, but also desiring production up against the body without organs. Let us trace each paragraph in Buffon’s digression:

  1. The statue opens his/her eyes to the celestial vault (heaven), the green earth upon birth (naître / connaître) -> ‘ME’
  2. It opens it eyes only to be wounded by the light of the sun -> ‘NOT ME’
  3. It feels the song of birds and the murmur of the air as part of its body -> ‘ME’
  4. Its pleasure surpasses awareness of what is outside of it -> ‘ME’
  5. It perceives the power to destroy and reproduce at will -> ‘ME’
  6. It bathes itself in a perfumed self-love, seeing without emotion, and understanding without trouble -> ‘ME’
  7. It becomes agitated, pleasured, transported by an unknown force -> ‘NOT ME’
  8. It becomes temporarily immobile, surprised, sensing that everything is in disorder -> ‘NOT ME’
  9. Its hand becomes its body and gives itself pleasure -> ‘ME’
  10. Its hand produces a ‘double idea’ -> ‘ME’
  11. It recognizes the limits of its existence through the experience of immense extension -> ‘NOT ME’
  12. It discovers its body and finds pleasure in it just as it amuses itself by looking at the stars -> ‘ME’
  13. It covers exterior objects with its hand to give the sensation of world as its body -> ‘ME AND NOT ME’
  14. It next realizes that its hand is one small part of the body -> ‘NOT ME’
  15. It puts its hand on a foreign object and realizes the existence of something outside of it. -> ‘NOT ME’
  16. Touch unites it and what is not it -> ‘ME AND NOT ME’
  17. It discovers its limits in failing to touch the sun, the horizon -> ‘NOT ME’
  18. It discovers its judgments are made imperfect by the world -> ‘NOT ME’
  19. It finds comfort in the world with increased reflection and the experience of doubt -> ‘NOT ME’
  20. It holds a piece of fruit in its hand, another being, but does not derive pleasure -> ‘ME’
  21. It tastes the fruit and receives ‘le goût’ -> ‘ME’
  22. It possesses the substance of the fruit -> ‘ME’
  23. It becomes drunk on alcohol -> ‘NOT ME’
  24. It awakes again but feels that it ceases to be rather than is born. -> ‘NOT ME’
  25. It realizes it must not always exist -> ‘NOT ME’
  26. It remains itself in sleep -> ‘ME’
  27. A human companion appears -> ‘NOT ME’
  28. It regards the companion as the second half of itself -> ‘ME’
  29. It acquires a sixth sense beyond touch -> ‘NOT ME’
  30. It recalls its state of sleep with the expiration of the sun -> ‘ME’