[net.lang] Little known computer languages

bzf@psuvm.UUCP (04/01/85)

    A friend of mine at Carnegie-Mellon sent me the following list of "lesser
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 yet
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 Mono-purpose Programming
Linguistic Environment.  This language, developed at the Hanover
College for Technological 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 commpilers 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 terminal 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.  Repititions of
code are handled 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
                9  C =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) =TOTALY 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 programmers 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 existential 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,
CABERNET, 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 LAFITE, 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 received 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 abscence
of an "s" in its character set.  Programmers and users must
substitute "TH".  LITHP is thaid to be utheful in prothething lithtths.

DOGO
Developed at the Massachusetts Institute of Obedience Training.  DOGO
heralds a new era of computer-literate pets.  DOGO commands include
SIT, STAY, HEEL, and ROLL OVER.  An innovatve feature of DOGO is
"PUPPY GRAPHICS", in which a cmall cocker spaniel leaves a deposit as
he travels across the screen.
   --------
=========================================================================

    I would be interested in hearing from anyone who can report on any other
little known languages in use out there.

============================================================================
               Dave Bealer                     BZF @ PSUVM  (Bitnet)
               Student Operator/Consultant
               PSU/Capitol Campus Computer Center
============================================================================

krs@amdahl.UUCP (Kris Stephens) (04/03/85)

>     A friend of mine at Carnegie-Mellon sent me the following list of "lesser
> known" computer languages:
...
> 
>     I would be interested in hearing from anyone who can report on any other
> little known languages in use out there.
> 
> ============================================================================
>                Dave Bealer                     BZF @ PSUVM  (Bitnet)

Okay, Dave...

Maybe It's Time for 'MAYBEBOL'
 
ENTROPY:  The amount by which a system differs from its ideal state.
 
   The Second Law  of Thermodynamics can be interpreted  as saying "Entropy
always increases with time". This means that as soon as a perfect system is
achieved,   it  starts to  deteriorate.    This  may be  understandable  in
mechanical systems where  moving parts are subject to wear  and tear.   But
what is not so  evident is that the concept of  entropy applies to logical,
or software, systems also.
 
   It is no secret that 60% to 80% of every programming dollar is  spent on
combatting  entropy --  that is, maintaining existing systems.   If you are
involved with any commercial systems,  think  of how often programmers have
to code changes upon  changes to that "ideal" system.   Why  is this always
the case?  Is there any way to get around this problem?
 
   Let's examine  the situation.   Many times  the people requesting  a new
computer system (the users)  cannot  define their needs precisely.   Often,
they are not  sure what they want  or how to deal  with certain situations.
Many ambiguous features are left in systems with the idea, "We'll deal with
that problem when we get to it."
 
   Programs  and  programming  languages   require  exact  and  unambiguous
definitions  to function  effectively;   solving  an unknown  or  ambiguous
problem is next to impossible with today's programming languages.
 
   As I see it, there are two possible solutions to this problem.
 
   Solution #1:   Carefully and  objectively resolve  the system  design to
achieve an exact problem definition.  Response:  Who are you kidding?  Face
it,  people  have been  trying to  do this  since day  one and  no one  has
succeeded yet. Every time they get close, entropy sets in.
 
This leaves us with the second solution:
 
Solution#2: Change the programming language.
 
   Why  not?  We're  trying to  use rigidly  defined programming  languages
structured   along exact   lines  to   provide  predictable and  consistent
results. This obviously does not reflect real-life applications at all.  To
handle modern complex situations,  a more  flexible language is needed -- a
language to procrastinate and deliver the silicon equivalent of a shrug.
 
   After much research,  deep thought and trial  and error,  I have come up
with the  outline of an  innovative programming  language which I  call the
Multiply  Analytic  Yet  Basically  Evasive  Bull-Oriented  Language,    or
MAYBEBOL.  The following are some of MAYBEBOL's more attractive features.
 
IF ... THEN ...  MAYBE.  An eloquent concrete admission of indecision, this
  statement is the heart and soul of MAYBEBOL.
 
DO SOMETHING.   When those  unforeseen situations  occur,  the  user is  on
  sabbatical in Africa  and the project is due tomorrow,   the DO SOMETHING
  statement just might help you hit that deadline. Example: IF ADD-CHG-DEL-
  CODE = PIZZA DO SOMETHING.
 
     Ideally,  no one should have any idea just what might be done.   (Some
  more adventurous souls may wish to set up a pool and bet on the outcome.)
 
GO SOMEWHERE. Where? I don't know, do you?
 
ON  ERROR conditions.    The ON  ERROR  statement would  have two  possible
  formats:
 
  1)  ON ERROR GENERATE EXCUSE.   Everyone knows excuses are more important
  than results.
 
  2) ON ERROR FORGET ABOUT IT. Self-explanatory.
 
In each of the ON ERROR conditions,    control will be returned to the main
  program by means of the GO SOMEWHERE statement.
 
GENERATE x REPORTS. X is an integer from 1 to 32.
 
     Users always demand  reports.  They take these reports  and place them
  carefully in multicolored binders.  These binders are then stacked on the
  shelf,  giving the users a place to store their dust collections.   Since
  no one ever looks at these reports,  a  great deal of time and effort can
  be saved by generating them randomly.
 
COIN.   A  built-in subroutine,    COIN will  return a  character value  or
  "HEADS" or "TAILS."  This can be very useful when making decisions.
 
GUESS.   The programmer doesn't know what to do, the user doesn't know what
  to do, nobody knows what to do, so why not?
 
PRETEND. As in "IF BAD-DATA THEN PRETEND."
 
SEARCH table-name.  The SEARCH statement  will consecutively search a table
  in memory.   Note  that it is illegal  to supply what to  search for.  If
  somehow a match is found, set the ERROR condition (see ON ERROR).
 
LOOP FOREVER. A great time saver for the programmer.   Instead of having to
  subconsciously invent subtle and hardto-find  infinite loops,  he may now
  declare them explictly.
 
DIVIDE x BY ZERO. Same concept as LOOP FOREVER.
 
   The above statement and philosophy will  be the basis for MAYBEBOL.   As
time permits,  I will attempt to  complete the language design.   This task
should be much easier to accomplish than it may appear.  You see,  just the
bare-bones  version  of  MAYBEBOL  provides an  excellent  medium  for  the
computer-aided design of the rest of the  language.   Just think of all the
delightful treasures of illogic waiting to be discovered!
 
   Now,   if  I  can  just  get this  machine  out  of  this  LOOP  FOREVER
statement...
 
   By Joey Robichaux.
Robichaux is  a  computer analyst for  Louisiana State  University in Baton
Rouge.
 
Copied without permission from COMPUTERWORLD February 2, 1981.
 
-- 
Kris Stephens     (408-746-6047)                 {whatever}!amdahl!krs
     [The opinions expressed above are mine, solely, and do not    ]
     [necessarily reflect the opinions or policies of Amdahl Corp. ]

will@anasazi.UUCP (Will Fuller) (04/03/85)

This is dedicated to the brave men that go down to the chips in C.

PORKTRAN
PORKTRAN - This language developed at Iowa State University uses
statements rejected by other compilers. It is most noted for
its PIG-LET assignments and HERESUEYSUEY subroutine calls.
The language is excellant at finding roots
(indeed any mounted tapes must have a Root Protect Ring installed
to disable PORKTRAN from damaging data). The unkosher language
has no syntax errors and compiler output is sold by the pound.
Even a novice PORKTRAN programmer can bring home the bacon.

CSIC
CSIC - this language borrows the best features of BASIC and C.
Its only data type is float, and I/O buffers require frequent
flushing. One undesireable side effect is that even the hardiest
of computers will dump their core. Compiler output is best redirected
over a rail when running on a DEC.

g-frank@gumby.UUCP (04/04/85)

There is a little-known language called CLITHP, combining the best
features of C and LISP.

Programs in this language consist entirely of parentheses and curly braces.


-- 
      Dan Frank

	  Q: What's the difference between an Apple MacIntosh
	     and an Etch-A-Sketch?

	  A: You don't have to shake the Mac to clear the screen.

jsdy@hadron.UUCP (Joseph S. D. Yao) (04/16/85)

> SIMPLE
> SLOBOL
> VALGOL
> LAIDBACK
> SARTRE
> FIFTH
> C-
> LITHP
> DOGO
>     I would be interested in hearing from anyone who can report on any other
> little known languages in use out there.

This article (maybe a longer version) appeared in the Software
Engineering Notes at about the same time as this newsnote.  The
SEN often has SENsational or SENful articles like this, and even
occasionally some that make SENse ...	;-)

	Joe Yao		hadron!jsdy@seismo.{ARPA,UUCP}