As a student of Technology and Social Change, I am currently exploring what a feminist programing language would look like for my thesis. Technology and Social Change an interdisciplinary degree that combines computer science with the humanities so that technology can interpreted and created through a socially conscious, interdisciplinary lens.My first question is: They offer degrees in "technology and social change"? Sounds like a factory to turn out armies of kulturkampf grievance mongers than actual people with actual skills to design and create actual goods to fill actual market needs. With no marketable skills to fill market needs, odds are this grad student will end up at a non-profit or in government, making the lives of productive citizens much more difficult, and not in industry making something useful.
My research is to explore how we can combine feminism and programming languages in a way that makes social responsibility, equality, and accessibility an effective part of the programming process.
I realized that to program in a feminist way, one would ideally want to use a feminist programming language. So what is a feminist programming language? Well I took a look at the major programming paradigms, the following are the four main groups a programming language can fall into: imperative, functional, object-oriented, and logic. I decided to explore feminist logic such that a feminist programming language could be derived.What does she propose as a "feminist" critique of logic? The proposition that contradiction is actually consistent:
I am currently exploring feminist critiques of logic in hopes of outlining a working framework for the creation of a feminist programming language.
There exist logics that handle contradiction as part of the system, namely paraconsistent logic. I think this type of logic represents the feminist idea that something can be and not be without being a contradiction, that is a system where the following statement is not explosive: (p && ¬p) == 1.Who knew that contradicting oneself, where saying one thing, and then in the next breath stating the exact opposite, yet still be true and not a lie, was a feature of feminism, and not a bug? As for me, I'm not confident that a system where a value could be true and untrue at the same time would be terribly useful.
But then here comes the kicker: Like a dog to its vomit, all feminism seems to return to rape™, and how to prevent rape™, and how individual consent to sex reigns supreme over structural constraints on sexuality.* One wouldn't think that rape culture hysteria would extend into the world of "1s" and "0s", but these folks are making it happen. Oh, and the person who thought this up is a dude, BTW:
Objects with "Agency".Behold what feminist scholarship yields to the field of computer science. An OO programming language where the objects are prevented from having their way with another one, except of course by mutual consent of the objects. Which I suppose can be withdrawn at any time, and also of course consent is clearly articulated and is unmistakable by both objects involved and by the system as well.
A MOO/MUSH is a multi-user, text based adventure game where the world is designed and programmed from the inside by the players themselves. Basically, everything that exists in the world is an object and has properties, which - on the surface - makes it look like an object oriented program. You, as a player, are allowed to make new objects, but other people in the world are not permitted to change your objects except in ways that you explicitly permit, and you can never prohibit another object from performing an action. Therefore, you have a world of objects where a sense of mutual consent is enforced by the environment.
My understanding of subject-object theory is as follows: Subjects act and objects are acted upon. If we define the world as a collection of interactions between objects, we are considering people and other sentient beings as "objects" when they should be treated as something more.
MUSHes reconcile this in an interesting way by extending the object-oriented paradigm with an additional constraint: "all things are objects, but some objects have agency". So here is my hypothesis:
A feminist programming language is a language that respects the agency of objects, acting upon them only upon mutual consent. [bolded emphasis in original]
There is an interesting quality of such a language that follows from this definition: unlike most languages where anything is possible (Turing Completeness), in this language, some things are decidedly NOT possible. This has interesting analogues to reality: "just because something is possible does not mean you should do it".
It seems that CS nerds (of which I used to be one) really can keep their programs from getting bit-raped. The only thing keeping the programming language rape machine going was patriarchy™ and programming languages designed by vertical thinkers (i.e., men). Who knew?
* " structural constraints on behavior": What I mean by this, is that a world in which structure and status governs whether one may legitimately have sex with another appears to be preferable to one in which obtaining ironclad evidence of consent is the salient metric. In other words, when a husband or a wife or a father "owns" the sexuality of his / her spouse or that of his child, answering questions of "did you legitimately go there/touch that" are much easier to answer than post-facto teasing out consent in a situation clouded by hormones, alcohol, and regret differentials. It seems to me that the property rights model of sexuality is far more effective at deciding whether or not a particular sex act is "in bounds" or "out"--and therefore superior at rape prevention--than the consent model.