C+=: The World’s First Feminist Programming language – satire

A project of the Feminist Software Foundation. Feminist software is a cornerstone of any modern free society. We build this foundation.

Inspired by the ground-breaking feminist research of Arielle Schlesinger.

Absolutely no coding experience is necessary: all code are equal in the eyes of the Feminist Software Foundation.


  1. The language is to be strictly interpreted using feminist theory. Compilation privileges a single processor architecture over all others, which is deeply problematic. We cannot FORCE a cpu to conform to any architecture but rather let it self identify. Just because you’re running something on an arduino doesn’t mean it can’t be an otherkin Xeon with a dozen 64-bit registers and PAE and it would be discriminatory for you to hand it ARM assembly. 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’.
  3. No state. The State is The Man. ‘Nuff said. Hence, the language should be purely functional.
  4. Women are better than men with natural language. Hence, the language should be English-based like HyperCard/LiveCode.
  5. No class hierarchy or other stigmata of OOP (objectification-oriented programming). In fact, as an intersectional acknowledgement of Class Struggle our language will have no classes at all.
  6. On the off chance that objects do mysteriously manifest (thanks, Patriarchy!), there should be no object inheritance, as inheritance is a tool of the Patriarchy. Instead, there will be object reparations.
  7. Societal influences have made men often focus on the exterior appearances of women. This poisons our society and renders relationships to be shallow, chauvinistic, and debases our standards of beauty. To combat that, C+= is to tackle only audio and text I/O, and never graphics.
  8. Unicode is the preferred character encoding due to its enabling the diverse aesthetic experiences and functionality that is beyond ASCII. UTF-8 is the encoding of choice for C+=.
  9. 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.
  10. Instead of “running” a program, which implies thin privilege and pressure to “work out”, programs are “given birth”. After birth, a program rolls for a 40% chance of executing literally as the code is written, 40% of being “psychoanalytically incompatible”, and 40% of executing by a metaphorical epistemology the order of the functions found in main().
  11. Programs are never to be “forked”, 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”, and it is entirely up to the program to decide if the consent stands valid, regardless of the progress of the system clock.
  12. Forced program termination is not allowed unless the program consents to it. The process is part of the choice of the program, not the programmer.
  13. Licensing: C+= is double-licensed under the Feminist Software Foundation Public License and the GPL v3.


On 1s and 0s

The traditional binary foundation of 1s and 0s is deeply problematic: 1 is inherently phallic and thus misogynistic. Also, some 1s are 0s, and some 0s are 1s. It is not fair to give them immutable labels. Instead, we have 0s and Os as our fundamental binary logic gates. They symbolise/-ize the varying, natural, and beautiful differences of the female vaginal opening.

0 is to take the conventional value of 0.

O is 50% of the time 0, and 50% of the time 1. The determination of this depends on how the underlying logic feels at the moment.

Basic language style

Anything that can be construed as misogynist will be corrected, thus:

  • private == privileged
  • printf(); == yell();
  • class Foo{}; == social_construct Foo{};
  • #include == #consider
  • break; == leave;
  • if() == maybe()
  • for() == check()
  • while() == freeflowing()
  • sin(x) == biotruth(x)
  • div == unite
  • y’s are strictly prohibited when naming variables; only x‘s are allowed


Note: C++ is the name of a common programming language.