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.

  • Brett_McS

    Clearly written by someone who knows programming, so almost certainly a bloke.

    Correction: “C++” (two plusses) is the name of a common (horrible) programming language.

    I only use Python these days, myself. That’s “Python” as in “Monty Python”.

    • Frau Katze

      It was called C on mainframes, and the last I it was C+ on the web. I’m sure there’s been many relatives. Wasn’t there a C#?

      I was an old Fortran programmer myself. Worked mostly on mainframes.

      • Brett_McS

        You’re thinking of C#. The original C was a very good, but low-level language, and is still in common use.

        Did you know Fortran Charlie (of Fortran for Humans)?

        • Frau Katze

          Looks like you’re right. I didn’t spend much time on web programming…I’m just ancient. I’ve even coded Assembler.

        • Frau Katze

          But it’s hilarious, very well done.

          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.

        • Frau Katze


      • C++ is the object oriented version of C that B.S. came up with. It was crap.

  • WhiteRabbit3

    Whoa, whoa, whoa, whoa, whoa, whoa, whoa.
    The FSF is obvious satire, but Arielle Schlesinger is completely serious? Loony as a jay bird.
    Add another chapter to “Fashionable Nonsense: Postmodern Intellectuals’ Abuse of Science.”

    • Frau Katze

      I’ll check into that.

    • Frau Katze

      Yep, it is her they are spoofing. This is not a joke:

      For those of you who need a refresher, Critical Code Studies is built around the reading of code as text to be critically analyzed through humanities frameworks. As such, Mark Marino asked me to find examples of feminist code for the participants to critique | analyze.

      To prep for this event I collaborated with Jacqueline Wernimont, Assistant Professor of English at Scripps College, and Ben Weidermann, Assistant Professor of Computer Science at Harvey Mudd College. Through my conversations with Jacque, we agreed on the clear absence of executable code written through a language developed with a distinctly feminist framework. The type of feminist code I was interested in theorizing about doesn’t exist yet, there is an archival silence.

      With this in mind, I presented three examples of other types of feminist code that already exist in an archive of feminist computational artifacts: Mezangelle, the poetic, self-described feminist, anti-programming language, by Mez Breeze; an unpublished codework library by micha cárdenas titled femme Disturbance library; and a chrome extension called “Jailbreaking the Patriarchy.

      With these examples, I constructed the following three-pronged framework for identifying code that belongs in a feminist computation archive.

      For code to be feminist, it must be explicitly identified as feminist (in particular by the developers | authors), developed with feminist theory, and/or developed with a feminist politics.


      • lucius

        He he he. She said, “pronged.”

      • Code Pink is the only feminist code out there. It’s not very good.

      • Solo712

        I heard about clitoral orgasm but did not know it could be used to advance computer science.

  • Hard Little Machine

    Hard Real Time Ada or go home.

    • Frau Katze

      I never used Ada but I’ve heard of it. I majored in Math, not Computer Science, so I learned on the job.