Neulich ging ein Vorschlag herum, eine feministische Programmiersprache zu erfinden. Der Vorschlag ist schon echt augenöffnend:
a feminist programming language is to be built around a non-normative paradigm that represents alternative ways of abstracting. The intent is to encourage and allow new ways of thinking about problems such that we can code using a feminist ideology.
Irgendwie muss man die systemische Unterdrückung von weiblichem Code durch das Patriarchat ja bekämpfen. Nur: Worauf baut man das auf? Die ganzen Grundlagen der Informatik sind vom fiesen Patriarchat entwickelt worden. Da muss man auf einem ganz fundamental anderen Fundament aufbauen!
I realized that object oriented programmed reifies normative subject object theory. This led me to wonder what a feminist programming language would look like, one that might allow you to create entanglements (Karen Barad Posthumanist Performativity).
Das ist ja alles schön und gut, aber was macht man mit der Logik? Keine Sorge, auch dafür gibt es eine Lösung:
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.I am currently exploring feminist critiques of logic in hopes of outlining a working framework for the creation of a feminist programming language.
Ich fand das zwar skurril aber nicht blogwürdig, bis ... ja bis
4chan das entdeckt und mit einer satirischen Implementation begonnen hat. Alleine das README.md ist ein Kracher.
Philosophy
==========
1. The language is to be strictly [interpreted](https://en.wikipedia.org/wiki/Interpreted_language) using [feminist theory](https://en.wikipedia.org/wiki/Feminist_theory). Under no circumstances should the language be [compiled](https://en.wikipedia.org/wiki/Compiled_language), as compilation and the use of a compiler imposes an oppressive and toxic relationship between the high-level descriptive language and the low-level machine code that does all the labo(u)r. Instead, **C+=** is interpreted, which fosters communication, itself a strong female trait.
2. No constants or persistence. Rigidity is masculine; the feminine is fluid. I.e., [fluid mechanics is hard for men 'because it deals with "feminine" fluids in contrast to "masculine" rigid mechanics'](https://en.wikipedia.org/wiki/Luce_Irigaray).
3. No state. The State is The Man. 'Nuff said. Hence, the language should be purely [functional](https://en.wikipedia.org/wiki/Functional_language).
4. Women are better than men with natural language. Hence, the language should be English-based like HyperCard/[LiveCode](https://en.wikipedia.org/wiki/LiveCode#Examples).
5. No class hierarchy or other stigmata of [OOP](https://en.wikipedia.org/wiki/Object-oriented_programming) ([objectification](https://en.wikipedia.org/wiki/Sexual_objectification)-oriented programming). In fact, as an [intersectional](http://geekfeminism.wikia.com/wiki/Intersectionality) acknowledgement of Class Struggle our language will have no classes at all.
6. Men are visual. Hence, no graphics. Just audio and text I/O.
7. [Unicode](https://en.wikipedia.org/wiki/Unicode) has a lot of pretty symbols. Allow their use through UTF-8.
8. Women are more social than men. Hence, social coding should be the only option. The code only runs if it is in a public repo.
9. Instead of "running" a program, which implies thin privilege and pressure to "work out", programs are "given birth". After birth, a program has a 40% chance of doing what is done in the code, 40% of "not in the mood" (i.e. nothing occurs), and 40% of randomly reorganising the execution order of the functions found in main(). *Math(s) don't real.*
10. Programs are never to be ["forked"](https://en.wikipedia.org/wiki/Fork_(system_call\)), as the word has clear misogynistic tendencies and is deeply problematic. Instead, programmers may never demand "forking", but ask for the program to voluntarily give permission. "Forking" will henceforth be called ["consenting"](https://en.wikipedia.org/wiki/Consent), and it is entirely up to the program to decide if the consent stands valid, even after the "birthing" of the program.
11. Forced program termination is not allowed unless the program consents to it. *My process, my choice.*
12. Licensing: the [Feminist Software Foundation License](https://github.com/FeministSoftwareFoundation/C-plus-Equality/blob/mistress/LICENSE).
Es gab auch ein github-Repository, aber das wurde schnell geschlossen, als jemand gemerkt hat, dass der Code bloß als Satire gemeint war.