Little-Known Computer Languages
Basic, Fortran, Cobol : These programming languages are well known and (more or less)
well loved throughout the computer industry. There are numerous other languages, however,
that are less well known that still have ardent devotees. In fact, these little-known
languages generally have the most fanatic admirers. For those who wish to know more about
these obscure languages and why they are obscure I present the following catalog.
SIMPLE
SIMPLE is an acronym for Sheer Idiot's Monopurpose Programming Linguistic Environment.
This language, developed at the Hanover College for Technical Misfits, was designed to
make it impossible to write code with errors in it. The statements are, therefore confined
to BEGIN, END, and STOP. No matter how you arrange the statements, you can't make a syntax
error. Programs written in SIMPLE do nothing useful. Thus they achieve the results of
programs written in other languages without the tedious, frustrating process of testing
and debugging.
SLOBOL
SLOBOL is best known for the speed, or lack of it, of its compiler. Although many
compilers allow you to take a coffee break while they compile, SLOBOL compilers allow you
to take a trip to Bolivia to pick up the coffee. Forty-three programmers are known to have
died of boredom sitting at their terminals while waiting for a SLOBOL program to compile.
Weary SLOBOL programmers often turn to a related (but infinitely faster) language,
COCAINE.
VALGOL
(With special thanks to Dan and Betsy "Moon Unit" Pfau) From its modest
beginnings in southern California's San Fernando Valley, VALGOL is enjoying a dramatic
surge of popularity across the industry. VALGOL commands include REALLY, LIKE, WELL, and
Y$KNOW. Variables are assigned with the =LIKE and =TOTALLY operators. Other operators
include the "CALIFORNIA BOOLEANS", FERSURE, and NOWAY. Repetions of code are
handle in FOR-SURE loops. Here is a sample VALGOL program:
14 LIKE, Y$KNOW (I MEAN) START
%% IF
PI A =LIKE BITCHEN AND
01 B =LIKE TUBULAR AND
9C =LIKE GRODY^MAX
4K (FERSURE)^2
18 THEN
4I FOR I= LIKE 1 TO OH MAYBE 100
86 DO WAH + (DITTY^2)
9 BARF(I) =TOTALLY GROSS(OUT)
-17 SURE
1F LIKE BAG THIS PROGRAM
? REALLY
$$ LIKE TOTALLY (Y$KNOW)
VALGOL is characterized by its unfriendly error messages. For example, when the user
makes a syntax error, the interpreter displays the message GAG ME WITH A SPOON.
LAIDBACK
Historically, VALGOL is a derivative of LAIDBACK, which was developed at the (now
defunct) Marin County Center for T'ai Chi, Mellowness and Computer Programming, as an
alternative to the more intense atmosphere in nearby Silicon Valley. The center was ideal
for programmmers who liked to soak in hot tubs while they worked. Unfortunately, few
programmers could survive there for long, since the center outlawed pizza and RC Cola in
favor of bean curd and Perrier. Many mourn the demise of LAIDBACK because of its
reputation as a gentle and nonthreatening language. For Example, LAIDBACK responded to
syntax errors with the message, SORRY MAN, I CAN'T DEAL WITH THAT.
SARTRE
Named after the late existenitial philosopher. SARTRE is an extremely unstructured
language. Statements in SARTRE have no purpose; they just are there. Thus SARTRE programs
are left to define their own functions. SARTRE programmers tend to be boring and depressed
and are no fun at parties.
FIFTH
FIFTH is a precision mathematical language in which the data types refer to quantity.
The data types range from CC, OUNCE, SHOT, and JIGGER to FIFTH (hence the name of the
language), LITER, MAGNUM, and BLOTTO. Commands refer to ingredients such as CHABLIS,
CHARDONNAY, CABERBET, GIN, VERMOUTH, VODKA, SCOTCH and WHATEVERSAROUND. The many versions
of the FIFTH language reflect the sophistication and financial status of its users.
Commands in the ELITE dialect include VSOP and LAFITTE, while commands in the GUTTER
dialect include HOOTCH and RIPPLE. The latter is a favorite of frustrated FORTH
programmers who end up using the language.
C-
This language was named for the grade recieved by its creator when he submitted it as a
class project in a graduate programming class. C- is best described as a
"Low-Level" programming language. In fact, the language generally requires more
C- statements than machine-code statements to execute a given task. In this respect, it is
very similar to COBOL.
LITHP
This otherwise unremarkable language is distinguished by the absence of an
"s" in its character set. Programmers and users must substitute "TH".
LITHP is said to be utheful in proceththing littth.
DOGO
Developed at the Massachusetts Institute of Obedience Training. DOGO heralds a new era
of computer-literates. DOGO commands include SIT, STAY, HEEL and ROLL OVER. An innovative
feature of DOGO is "PUPPY GRAPHICS", in which a small cocker spaniel
occasionally leaves a deposit as he travels across the screen.
NEW PRODUCT ANNOUNCEMENT: 'C' Language Regression Package
Antiquity Spoffware Solutions
Announces
C-- Void Oriented Programming
Antiquity Spoffware Solutions is proud to announce its latest fully integrated software
package for C programmers. C Programmers for years now have been frustrated with a myriad
of functions designed for almost sickening efficiency and control. Any programmer knows
that a language so flexible has its drawbacks: Universality. C-- combines all the power of
BASIC, the readability of COBOL, and the wealth of string and graphics functions
associated with FORTRAN. C-- does away with floats and doubles, chars and ints and
manipulates data entirely in LONG integer form (for portability.)
Here are some examples:
/* This program generates an integer-oriented
#include <cmm.h>
#LOADREGULARCLIBRARYFUNCTION (STDIO.H)
MAIN *OPENCURLYBRACKETPOINTINGLEFT
PRINTFORMATTEDOUTPUT ( "DEMONSTRATION OF C-- FUNCTIONS" ) SEMICOLON
LET THENUMBER A EQUAL 10 SEMICOLON
LET THENUMBER B EQUAL 20 SEMICOLON
IF A .LT. B THEN DO SINGLEFUNCTION
PRINTFORMATTEDOUTPUT( NUMBER, STRING, A, "IS SMALLEST" )
SEMICOLON OTHERWISE
IF B .LT. B THEN DO SINGLEFUNCTION
PRINTFORMATTEDOUTPUT( NUMBER, STRING, B "IS SMALLEST" )
SEMICOLON
OTHERWISE
DO NOTHING SEMICOLON
*CLOSECURLYBRACKETPOINTINGRIGHT
The above source, as you may have noticed, is not just a demonstration of the ASS
software team's life-long persistance in the generat ion of efficient, compact, (and most
of all) READABLE software.
The tried and true principles behind line-buffered input are sure to delight the
seasoned programmer. C-- is sure to invoke images of keypunches and card readers and leave
you happily chugging away at keyboard.
How to program in "C"
- Use lots of global variables.
- Give them cryptic names such as: X27, a_gcl, or Horace.
- Put everything in one large .h file.
- Implement the entire project at once.
- Use macros and #defines to emulate Pascal.
- Assume the compiler takes care of all the little details you didn't quite understand.
"It's 5:50 a.m., Do you know where your stack pointer is?"
How to debug a "C" program.
- If at all possible, don't. Let someone else do it.
- Change majors.
- Insert/remove blank lines at random spots, re-compile, and excecute.
- Throw holy water on the terminal.
- Dial 911 and scream.
- There is rumour that "printf" is useful, but this is probably unfounded.
- Port everything to CP/M.
- If it still doesn't work, re-write it in assembler. This won't fix the bug, but it will
make sure no one else finds it and makes you look bad.
How to debug a 'C' program - addendum
- Since you got it to compile, the problem must be in the Other Guys Code.
- If it's all your code then the problem *MUST* be in those unreliable Standard Libraries.
See '1.' in the previous section.
- Claim the bug reports are viscious lies meant to tarnish your sterling reputation as a
'C' programmer (well aren't they?). After all, those who wrote the reports couldn't even
*read* your code. How could they possibly know if there was a bug or not?
- If they could read your code, review "How to program in 'C'", above.
- Claim that there wouldn't be a problem if this stingy Company/School/Wife/etc would
spring for a copy of C++.
If you still have a Job/Degree objective/Wife/Mind/etc after utilizing the above rules
then you simply aren't trying hard enough.
C+-: (pronounced "C more or less")
[from the april '91 issue of AIExpert ]
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 c overed 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."