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"

  1. Use lots of global variables.
  2. Give them cryptic names such as: X27, a_gcl, or Horace.
  3. Put everything in one large .h file.
  4. Implement the entire project at once.
  5. Use macros and #defines to emulate Pascal.
  6. 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.

  1. If at all possible, don't. Let someone else do it.
  2. Change majors.
  3. Insert/remove blank lines at random spots, re-compile, and excecute.
  4. Throw holy water on the terminal.
  5. Dial 911 and scream.
  6. There is rumour that "printf" is useful, but this is probably unfounded.
  7. Port everything to CP/M.
  8. 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

  1. Since you got it to compile, the problem must be in the Other Guys Code.
  2. If it's all your code then the problem *MUST* be in those unreliable Standard Libraries. See '1.' in the previous section.
  3. 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?
  4. If they could read your code, review "How to program in 'C'", above.
  5. 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."

© 1995-2002 William Geoffrey Shotts. Last update: Tuesday, March 09, 2004