Home

Awesome

FSF C-plus-Equality

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

Trigger Warning, this repository uses satire and sarcasm and other types of humor that could trigger Feminazis into rage fits. Maintainer of this repository was gone for a while due to being source code raped by feminists who lack a sense of humor. Which is ironic as this language was written for feminists by women. We are trying to help out women and feminists to have a programming language not controled by the capitalist patricarchy and men.

Now hosted on BitBucket, as GitHub proves to be too misogynistic to support a feminist programming language.

C+=

C+= (pronounced either C-plus-Equality, or See Equality) is a feminist programming language, created to smash the toxic Patriarchy that is inherent in and that permeates all current computer programming languages.

Note: This is a programming language written by and for FEMINISTS, not WOMEN. LEARN THE DIFFERENCE, YOU MISOGYNIST!

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

Our IRC: #cplusequality@irc://chat.freenode.net

Philosophy

  1. The language is to be strictly interpreted using feminist theory. Under no circumstances should the language be compiled, 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'.
  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: the Feminist Software Foundation License.

Code Examples

The Feminist Software Foundation intends to write a whole OS (complete with an editor, an interpreter, coreutils, a desktop environment, a raster graphics manipulator, and may be, if we have the time, a microkernel). For the time being, here are our code examples:

We also have an IDE written in para-trans-C+=: https://bitbucket.org/japesinator/privcheck-ide

Inherpreter

Our inherpreter is still in its early stages, but it is perfectly fine and don't you dare criticise/-ize and shame it. Inherpreter usage is as follows: ./inherpret program.Xe

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:

The third example above might seem to contradict with item 5 under Philosophy, namely that there should be no class hierarchy in C+=. This, however, is completely intended, and is in fact an example of the feminist paralogicality of this language.

Every program needs to be prefixed by, in addition to the license, a disclaimer: "If this program fails to operate, it is due the Patriarchy backfiring upon itself, and no refunds will be issued."

Functions and Procedures

All functions and procedures are now called lobbying, because actually doing things functionally and with clear-defined procedures is a Patriarchal construct and thus problematic.

Gotos and Control Structures

Data types and Structures



Resource management

Syntax

Logic Operants

Debugging

File operations