Philosophizing Code / Coding Philosophy: Transgressions on Object Oriented Programing

Beto Duarte
The Startup
Published in
9 min readJun 18, 2019

This story starts with an alcoholic robot named Bender.

Futurama is set 1000 years in the future and follows the adventures of a disparate group of humans and non-humans working for an economically precarious intergalactic shipping company called the The Planet Express. During a particularly unfortunate voyage, swag-hungry space pirates attack the The Planet Express spacecraft. Bender—miffed by the commotion and in effort to get some sleep—responds by isolating himself in the spacecraft’s torpedo tube. Not unexpectedly, he is then accidentally launched at the pirate ship in retaliation, crashes through its anachronistic wooden frame, and emerges on the other side zooming through space clutching a bag of swag. Fry and Leela, Bender’s crew mates, watch in horror from the cockpit Bender flies off into space. They soon realize that they will never be able to catch up to him because they were traveling at full speed when he was launched.

In his “endless” solitude drifting through space Bender dramatically muses on his existence with grand proclamations of self-improvement that are suddenly abandoned with vulgarities and frustrations. He finds temporary relief after being bombarded by asteroids and finding that one of the asteroids, lodged on his body, contains a miniature agrarian civilization of thumb-sized, elf-like creatures. The creatures confuse Bender with God and express submission to him. Bender, an amoral and alcoholic robot, takes full advantage of his new role by demanding the construction of a brewery to appease his insatiable appetite for booze. Despite their tininess, the creatures manage to give Bender what he wants though many of them are maimed or killed during construction. Bender realizes that he has been selfish and tells his worshippers that he is “moved by their plight” and decides to make the lives of his devotees easier. However, all of his divine interventions are disastrous, so he decides to abstain from further attempts at helping his devotees. Unfortunately, the tiny inhabitants, frustrated with Bender’s indifference and burdened with growing sectarian conflict resort to nuclear war wherein everybody except Bender is killed.

So Bender is left drifting alone through space again, this time burdened with the knowledge of his fatal incompetence. His angst is interrupted by a swirling mass of stars and a series of bright blinking lights. Bender recognizes the blinking lights as binary code but yells out that binary is a language he has forgotten. In frustration Bender asks the swirling mass if it speaks English a question to which the mass responds in a gentle and masculine voice, “I do now”. Bender concludes that he is in the presence of God.

Bender: So, do you know what I am going to do before I do it?

God: Yes

Bender: But what if I do something different?

God: Then I don’t know that.

Bender: (Rubbing his chin) Cool, cool. (Pause) I bet a lot of people pray to you, huh?

God: Yes, but there are so many asking so much, after a while you just sort of tune it out.

Bender: You know, I was God once.

God: Yes I saw. You were doing well until everyone died.

Bender: It was awful, I tried helping them, I tried not helping them, but in the end I couldn’t do them any good. Do you think what I did was wrong?

God: Right and wrong are just words. What matters is what you do.

Bender: (Frustrated) Yeah, I know, that’s why I asked if what I did was — ah, forget it.

God: Bender, being God isn’t easy. If you do too much, people get dependent on you and if you do nothing, they lose hope. You have to use a light touch, like a safecracker or a pick-pocket.

Bender: Or a guy who burns down a bar for the insurance money.

God: Yes, if you make it look like an electrical thing. When you do things right, people won’t be sure you’ve done anything at all.

God’s advice to Bender brings the story to Nietzsche. In the 13th communique of the first treatise of his book On The Genealogy of Morality, Nietzsche elaborates on the comfortable fiction and religious tendency to construct the notion of a predetermined doer before a deed. This assumption is challenged with the following reference to the doer as an independently willed “substratum” of existence:

“But there is no such substratum; there is no ‘being’ behind the doing, effecting, becoming; ‘the doer’ is simply fabricated into doing — the doing is everything.”

In other words, Nietzsche says that there is no subject outside of action, and this emphasis on action is precisely the emphasis that God spoke about with Bender. Put in more concrete examples, it can be reasonably imagined that the painter is not a painter before she paints. Indeed, it is the painting that fabricates and evokes the subject as painter into being. There is no artist before the song, it is the instance of the song that carries the truth of the artist and establishes the relational meaning and the real purpose of being as artist. It is the program that molds and spawns the programer, the ride that sustains the meaning of both driver and passenger, and the novel that gives birth to the novelist.

Nietzsche’s concept, specifically when modeling domains for object oriented programming projects, can help developers understand to locate the single source of truth in the instantialization of the deed, which could also be thought of as class instances in which the users of a particular program do something that defines the very utility of the program, e.g., a tweet on Twitter, a post on Medium, a ride on Uber, a review on Yelp.

Over a hundred years ago Nietzsche set the ideological framework that not only rejects biological determinism but is also symbolically aligned to what is held to be true with object oriented programing. This idea was also elaborated, albeit in different terms, by the French power couple Beauvoir and Sartre. In Existentialism is a Humanism, Sartre argues against the cognitive laziness and causal assumption that essence precedes existence. For Sartre, as for many concerned with emancipation today, the opposite is true: existence precedes essence. Sartre’s radical conclusion speaks to the heart of why object oriented programing is so useful. Given a class method called “user”, if the essence of every user and all their given attributes were predefined, then why would there be use for the instantialization of separate user class objects? The same knowledge espoused by Sartre, that existence precedes essence is assumed by the programmer by leaving the user class attributes open to be defined by individual users. It is this very flexibility that makes Object Oriented Programming so robust. Thus, the essence or attributes of each user is not prepackaged, or as Nietzsche might say there is no prefigured subject. It is existence that precedes essence (Sartre) or action the precedes the subject (Nietzsche) that holds the primary source of truth. Sartre elaborates in his essay Existentialism is a Humanism:

“For if indeed existence precedes essence, one will never be able to explain one’s action by reference to a given and specific human nature; in other words, there is no determinism — man is free, man is freedom. Nor, on the other hand, if God does not exist, are we provided with any values or commands that could legitimize our behavior. Thus we have neither behind us, nor before us in a luminous realm of values, any means of justification or excuse. We are left alone, without excuse.”

Far from any type of living dread that existentialism is often said to propagate, there is a deeply inspiring call to action. As a novice developer, what I find in these words is the following hypothetical: “So you want to be a good developer? Then go write good code!”

Sartre, of course, is not alone. In her book The Second Sex Beauvoir (in)famously declares, “One is not born, but rather becomes, a woman.” This statement would later inspire groundbreaking feminist movements and theories. Judith Butler says that she developed the foundational ideas to write Gender Trouble, from this single statement. What Butler argued in Gender Trouble is an extension of the ideas elaborated by Nietzsche, Sartre, and Beauvoir. Put simply, that idea is that people are free to write their own code. Existence is not predetermined.

This is no mere chicken-and-egg wordplay. In 2004 the Human Genome Project proved, once and for all, that racism, and its imposition of generalized attributes on entire groups of people, are baseless. There is no genetic structure for race as we have come to know it. It is a mere embellishment in the long evolution of humanity. Race as a category resides entirely as a determining factor in politics and history, not in biology and genetics. Understanding race this way is difficult for many precisely because racism has been so politically and historically pervasive that it naturalizes its causes into an idea of “essence”. The Human Genome Project confirmed through scientific discovery, what Nietzsche, Sartre, Beauvoir and Butler had theorized and written.

During one of the opening lectures at the Access Labs software engineering bootcamp at the Flatiron School the lecturer welcomed the group by rightfully proclaiming that there is no “developer gene”. This statement sums up what this post espouses, especially in terms of resisting dangerous narratives. It is not an exaggeration to say that the rejection of the “developer gene” is a rejection of biological determinism and is thus counter-fascist. What all fascist movements have in common, besides being utterly parasitic, is the notion of an essential, pre-determined self. This is exactly how they justify the orthodoxy of a master race even when the “master race” does not behave masterfully. The fascists would want us to believe that all Jewish people are X, that all migrants are Y, and that all queer folks are Z. But as developers we know that this terrible code. Every individual object, that is to say, each instance of a group or class, carries with it a unique object ID and attributes that are only sparingly given default values. There is no utility for a program where the input is identical to the output and any program that lacks utility is a waste of time and space: garbage.

As for Bender, the alcoholic robot lost in space, he eventually finds his way back to earth. Leela and Fry scale Mt. Everest in search for an intergalactic telescope and intercom instrument used by a group of monks in their spiritual search for God. After the monks refuse to let them use the device to find Bender, Leela and Fry forcibly lock the pacifist monks into a closet. Fry tirelessly uses the instrument for three days straight as the monks get increasingly desperate. Leela expresses firm skepticism about their chances of finding Bender and finally convinces Fry to give up the search. As Fry submits to failure he angrily spins the instrument’s locator and as he walks away tells Leela how much he misses Bender. The instruments locator coincidently lands within God’s listening range and he hears Fry’s lament. God wakes up Bender sleeping in front of him, puts a parachute on his back, and flings him back toward earth where he lands in front of Fry and Leela on their climb down from Mr. Everest. After the excitement of reunion, Leela remembers that they had forgotten to release the monks. With a hunched and lazy composure Fry asks if they really need to go and release them since surely their God will save them. Bender responds,

“Fat chance! You can’t count on God for jack! He pretty much told me so himself. Now, come on! If we don’t save those monks, no one will!”

--

--