Femtrain: A feminist programming language

A recent note by a student named Arielle Schlesinger at HASTAC.ORG discussed the exciting possibility of creating a feminist computer programming language. Arielle believes the object-oriented programming languages (like C++) “reifies normative subject object theory” – which, in human-speak, means that they are real-world examples of the abstract patriarchy theory that men (subjects) do hateful things to women (objects).

In reality, of course, men do things not to women, but FOR women, and usually after the women demand those things be done for them – a concept known as “gynocentrism“.

In her vision of rainbows and unicorns and free love, Arielle imagines that this language would replace objects with entanglements, which are the silly new-age (rhymes with “sewage”) creations based on the principle of quantum mechanics that two or more particles can become linked in ways that make their destinies interrelated no matter how far apart they are – an idea Einstein called “spooky action at a distance“.

In the feminist world, “Entanglements” are feminist-defended entitlements that women earn because: vagina. For example, one entanglement, called “alimony,” is created when a man is stupid enough to marry a woman. Another entanglement, called “child support,” is created to pay money from a man to a woman, to use as she sees fit, after the man has sired (or unwittingly served as the nominal father to) children of the mother.

Also dying under Arielle’s daywalker gaze is logic (or, more precisely, formal logic), which she plans to replace with “feminist logic.” What is “feminist logic”, you ask?

A complex description of feminist logic can be found at the link here, but it is easier to see their differences when you compare an example of formal logic to one of feminist logic.

Formal:

One S is A – “Socrates is a man”

All A are B – “All men are mortal”

Therefore, S is B – “Socrates is mortal”.

Now, for the feminist logic version of this same argument:

One S is A – “Socrates is a dead white male”

All A are B – “All dead white males are evil oppressors who deserve death”

Therefore, W should be K – “Therefore, wives should be allowed to kill their husbands with impunity

From this we can discern two of the key features that distinguish Feminist from Formal logic: “trolling” (attempting to create an angry, emotional response where none is warranted), and “derailment”  (jumping to a new, unrelated subject in the midst of a serious discussion).

The other feature of feminist logic is that opposing or contradictory statements are perfectly valid. In other words, the foundation of computing is binary logic (true or false, yes or no, 0 or 1), which is seen by feminists as bullshit – to feminist thinking, something can be both true and false at the same time.

An example of this is when a woman consents to sex with a stranger, and then later, after the sex is complete, decides that she didn’t really consent at all, and thus, RAAAAPE!

Maybe she changed her mind because she feared what her parents/husband/boyfriend/bestie might think of her, or maybe the “walk of shame” was a bit too unpleasant, or maybe she discovered the stranger was rich and she wanted to extort money out of him – but for whatever reason, the question of “did she consent?” can be answered as both “Yes”, and then later, “No.”

Giving this background, it is intriguing to think about how a feminist programming language might work. Such a language actually exists, in fact, and it is known as feministtranslator, or femtrain. (There is a drug for women – estrogen, basically – that happens to carry the more obvious trademarked name femtran.)

Femtrain is designed to create, and then, exploit, entanglements in order to process information effectively.

Again, let’s use some examples to see how a regular program in an idealized programming language compares to the same program in femtrain.

First, a regular program that computes the area of a circle:

program “find_the_area_of_circle”;

uses systools; {a collection of various utilities}

constant Pi = 3.14159; {good enough for this project}

var diameter, radius, area : real; { some variables we can use for our calculations}

begin

input(“Enter the diameter of the circle”, diameter);

compute radius := diameter /2;

compute area := Pi * radius * radius;

output(“The approximate area of the circle is”, area);

end.

Now, let’s look at the same program, coded in femtrain:

demand “find the area of something that looks like a nipple”;

entangles “find_the_area_of_circle”; {steal the man’s resources }

begin

issueComplaint(“Pi is oppressive to women because it implies kitchen work, and is short for ‘penis in…'”);

issueThreat(“Let me use your program for my project or else I’ll report you for sexual harassment.”);

issueRelationalAggression(“She thinks she can wear that. What a slut.”);

issueWhine(“I want to go get something to drink and fuck a wealthy man.”);

executeStolenProgram(“find_the_area_of_circle”);

issueDisposal(“You’re creeping me out, fuckface. I’m calling Human Resources.”);

period.

Notice the innovative differences in femtrain: a program is called a “demand.” Outside resources are entangled so that the feminist programmer can exploit them. The feminist programmer creates “issues” of “complaints”, “threats”, “relational aggressions”, “whines”, and “disposals” to manage her relationship with the male programmer, whose work she co-opts/steals before she disposes of him. All processing ends when she reaches her period.

We know that femtrain exists because female programmers have created massive lists of “issues” that they use to shame male programmers into compliance. These issues are also called “privileges“.

Some other attractive features of femtrain:

  • Perfection. All femtrain programs compile bug-free, because bugs are in reality microaggressions against women, and pointing out bugs is victim-blaming.
  • Simplicity. Femtrain does not support oppressive operators like those from mathematics that are often used to demean women.
  • Unique operators. The femtrain function woozle generates a random integer between 2 and 4 that can be used in issuing whines. Example: “1 in [woozle] women are raped every 10 seconds.”
  • Deniability. Because femtrain is designed to co-opt the work of others, the femtrain programmer has a perfect defense to the charge of incompetence – it is a man’s fault.
  • Career-building. Promoting a talented programmer into management is usually a bad idea – you lose his skills as a programmer and his management skills may be iffy at best – but since femtrain programmers become skilled at manipulating others instead of doing their own assigned tasks, they are natural candidates for management. 

So there, Arielle, I just completed your project – to design a feminist programming language – for you. Oh, fuck. I’ve been femtrained!

I guess femtrain is recursive, too.

Recommended Content