English [en]  

For thirty years, the Free Software Foundation has been seen as a guiding light for the free software movement, fighting for user freedom.

Help keep our light burning brightly by donating to push us towards our goal of raising $450,000 by January 31st.

$450k
312k so far

C more or less

Date: Tue, 16 Apr 91 13:16:47 EDT
From: geoff@circus.camex.com
To: clp@home.harvardsq.com, rms@ai.mit.edu
Subject: C more-or-less

[from rec.funny: C more-or-less]

C+-: (pronounced “C more or less”)

Unlike C++, C+- is a subject oriented language. Each C+- class instance known as a subject, holds hidden members, known as prejudices or undeclared preferences, which are impervious preferences, which are impervious to outside messages, as well as public members known as boasts or claims. The following C operators are overridden as shown:

> better than
< worse than
>> much better than
<< forget it
! not on your life
== comparable, other things being equal

C+- is a strongly typed language based on stereotyping and self-righteous logic. The Boolean variables TRUE and FALSE (known as constants in less realistic languages) are supplemented with CREDIBLE and DUBIOUS, which are fuzzier than Zadeh's traditional fuzzy categories. All Booleans can be declared with the modifiers strong and weak. Weak implication is said to “preserve deniability” and was added at the request of the D.O.D. to ensure compatability with future versions of Ada. Well-formed falsehoods (WFFs) are assignment-compatible with all Booleans. What-if and why-not interactions are aided by the special conditional evenifnot X then Y.

C+- supports information hiding and, among friend classes only, rumor sharing. Borrowing from the Eiffel lexicon, non-friend classes can be killed by arranging contracts. Note that friendships are intransitive, volatile, and non-Abelian.

Single and multiple inheritance mechanisms are implemented with random mutations. Disinheritance rules are covered by a complex probate protocol. In addition to base, derrived, virtual, and abstract classes, C+- supports gut classes. In certian locales, polygamous derivations and bastard classes are permitted. Elsewhere, loose coupling between classes is illegal, so the marriage and divorce operators may be needed:

marriage (MParent1, FParent1);
// child classes can now be derrived
sclass MySclass: public MParent1, FParent1
{        //  define MySclass
}

sclass YourSclass: public MParent1, FParent2
// illegitimate

divorce (MParent1, FParent1);

marriage (MParent1, FParent2);
sclass YourSclass: public MParent1, FParent2
{  //  OK now
}

Operator precedence rules can be suspended with the directive #pragma dwim, known as the “Do what I mean” pragma. ANSIfication will be firmly resisted. C+-'s slogan is “Be Your Own Standard.”

[from the april '91 issue of AIExpert]

--
Maurice Suhre
suhre@trwrb.dsd.trw.com

This joke is also available in plain text.

Other humor in the GNU Humor Collection.

Disclaimer

The joke on this page was obtained from the FSF's email archives of the GNU Project.

The Free Software Foundation claims no copyright on this joke.

 [FSF logo] “Our mission is to preserve, protect and promote the freedom to use, study, copy, modify, and redistribute computer software, and to defend the rights of Free Software users.”

The Free Software Foundation is the principal organizational sponsor of the GNU Operating System. Support GNU and the FSF by buying manuals and gear, joining the FSF as an associate member, or making a donation, either directly to the FSF or via Flattr.

back to top