James' Joke Archive
Return to Keyword Menu - Return to Title Menu

Canonical List of Programming Humor

             *****Canonical List Of Programming Language Humor****

	This is the Canonical List Of Programming Language Humor.  It has been
compiled with the assistance of a lot of people but a special thanks goes to
Prof P. Piacenza (chpp@unitrix.utr.ac.za) who contributed a great deal of jokes
etc to this list.

	Any submissions should be sent to :-

		N.THOMSON@ZIPPY.DCT.AC.UK

where they will be added to the list and the submitter will get a personal copy
of the list.  Any requests for copies of this list sent to the above addresse
will be chearfully ignored.  If you are reading this then you have a copy in
front of you.  If your joke is more suited to any of the other lists then it 
will be placed there.                       

	This file can be FTPed from FTP.CCO.CALTECH.EDU in the directory
/PUB/HUMOR/CANONICAL.LIST - login as anonymous and enter E-Mail address as
password.  
        The latest version of this file can also be found at:-
	      HTTP://www.tay.ac.uk/~mcscs2npt/lair/humor/humor.html (browsable)
	and   HTTP://www.misty.com/laughweb

Ok enough of the boring stuff - enjoy.............

--------------------------------------------------------------------------------
	There is many a programming language available on the market today but
which is the best for you???  The following list should help you with your
choice.

       		       Selecting a Programming Language
		       ++++++++++++++++++++++++++++++++	

Assembler       - A formula I race car.  Very fast but difficult to drive
		  and maintain.

FORTRAN II      - A Model T Ford.  Once it was the king of the road.

FORTRAN IV      - A Model A Ford.

FORTRAN 77      - a six-cylinder Ford Fairlane with standard transmission
		  and no seat belts.

COBOL           - A delivery van.  It's bulky and ugly but it does the work.

BASIC           - A second-hand Rambler with a rebuilt engine and patched
		  upholstery.  Your dad bought it for you to learn to drive.
		  You'll ditch it as soon as you can afford a new one.

PL/I            - A Cadillac convertable with automatic transmission, a
		  two-tone paint job, white-wall tires, chrome exhaust
		  pipes, and fuzzy dice hanging in the windshield.

C               - A black Firebird, the all macho car.  Comes with optional
		  seatbelt (lint) and optional fuzz buster (escape to
		  assembler).

ALGOL 60        - An Austin Mini.  Boy that's a small car.

Pascal          - A Volkswagon Beetle.  It's small but sturdy.  Was once
		  popular with intellectual types.

Modula II       - A Volkswagon Rabbit with a trailer hitch.

ALGOL 68        - An Aston Martin.  An impressive car but not just anyone
		  can drive it.

LISP            - An electric car.  It's simple but slow.  Seat belts are
		  not available.

PROLOG/LUCID    - Prototype concept cars.

Maple/MACSYMA   - All-terrain vehicles.

FORTH           - A go-cart.

LOGO            - A kiddie's replica of a Rolls Royce.  Comes with a
		  real engine and a working horn.

APL             - A double-decker bus.  It takes rows and columns of
		  passengers to the same place all at the same time
		  but it drives only in reverse and is instrumented
		  in Greek.

Ada             - An army-green Mercedes-Benz staff car.  Power steering,
		  power brakes, and automatic transmission are standard.
		  No other colors or options are available.  If it's good
		  enough for generals, it's good enough for you.      

--------------------------------------------------------------------------------
	Having Choosen you language Just how easy (or Not!!) is it to use??

		TASK :- To Shoot Yourself In The Foot
	   	+++++++++++++++++++++++++++++++++++++


C: 	You shoot yourself in the foot.

C++: 	You accidentally create a dozen instances of yourself and shoot
	them all in the foot. Providing emergency medical assistance is
	impossible since you can't tell which are bitwise copies and which are
	just pointing at others and saying, "That's me, over there."

FORTRAN: You shoot yourself in each toe, iteratively, until you run out
	of toes, then you read in the next foot and repeat. If you run out of
	bullets, you continue with the attempts to shoot yourself anyways
   	because you have no exception-handling capability.

Pascal: The compiler won't let you shoot yourself in the foot.

Ada: 	After correctly packing your foot, you attempt to concurrently load
	the gun, pull the trigger, scream, and shoot yourself in the foot. When
	you try, however, you discover you can't because your foot is of the
 	wrong type.

COBOL: 	Using a COLT 45 HANDGUN, AIM gun at LEG.FOOT, THEN place
	ARM.HAND.FINGER on HANDGUN.TRIGGER and SQUEEZE. THEN return HANDGUN to
	HOLSTER. CHECK whether shoelace needs to be re-tied.

LISP: 	You shoot yourself in the appendage which holds the gun with which
	you shoot yourself in the appendage which holds the gun with which 
	you shoot yourself in the appendage which holds the gun with which
	you shoot yourself in the appendage which holds the gun with which
 	you shoot yourself in the appendage which holds the gun with which
 	you shoot yourself in the appendage which holds...

FORTH: 	Foot in yourself shoot.

Prolog: You tell your program that you want to be shot in the foot. The
	program figures out how to do it, but the syntax doesn't permit it to
	explain it to you.

BASIC: 	Shoot yourself in the foot with a water pistol. On large systems,
	continue until entire lower body is waterlogged.

Visual Basic: You'll really only _appear_ to have shot yourself in the
	foot, but you'll have had so much fun doing it that you won't care.

HyperTalk: Put the first bullet of gun into foot left of leg of you.
	Answer the result.

Motif: 	You spend days writing a UIL description of your foot, the bullet,
	its trajectory, and the intricate scrollwork on the ivory handles of the
	gun. When you finally get around to pulling the trigger, the gun jams.

APL: 	You shoot yourself in the foot, then spend all day figuring out how
	to do it in fewer characters.

SNOBOL: If you succeed, shoot yourself in the left foot. If you fail,
	shoot yourself in the right foot.

Unix:
	% ls
	foot.c foot.h foot.o toe.c toe.o
	% rm * .o
	rm:.o no such file or directory
	% ls
	%

Concurrent Euclid: You shoot yourself in somebody else's foot.

370 JCL: You send your foot down to MIS and include a 400-page document
	explaining exactly how you want it to be shot. Three years later, your
	foot comes back deep-fried.

Paradox: Not only can you shoot yourself in the foot, your users can, too.

Access: You try to point the gun at your foot, but it shoots holes in all
	your Borland distribution diskettes instead.

Revelation: You're sure you're going to be able to shoot yourself
	in the foot, just as soon as you figure out what all these nifty
	little bullet-thingies are for.

Assembler: You try to shoot yourself in the foot, only to discover you
	must first invent the gun, the bullet, the trigger, and your foot.

Modula2: After realizing that you can't actually accomplish anything in
	this language, you shoot yourself in the head.

VMS:

$ MOUNT/DENSITY=.45/LABEL=BULLET/MESSAGE="BYE" BULLET::BULLET$GUN SYS$BULLET
$ SET GUN/LOAD/SAFETY=OFF/SIGHT=NONE/HAND=LEFT/CHAMBER=1/ACTION=AUTOMATIC/
  LOG/ALL/FULL SYS$GUN_3$DUA3:[000000]GUN.GNU
$ SHOOT/LOG/AUTO SYS$GUN SYS$SYSTEM:[FOOT]FOOT.FOOT

%DCL-W-ACTIMAGE, error activating image GUN
-CLI-E-IMGNAME, image file $3$DUA240:[GUN]GUN.EXE;1
-IMGACT-F-NOTNATIVE, image is not an OpenVMS Alpha AXP image                  

oh well, almost..


FORTH: Foot in yourself shoot.

	self dup >foot shoot
--------------------------------------------------------------------------------
	For those of you who are still not satisfied try some of this.
	These are Opcodes that can have a witty side.  Some you have to think
	about though!!!

	========================================================
	 T H E   B E S T   (IN MY HUMBLE OPINION)
	========================================================
	MNEMONIC | INSTRUCTION
	---------| ---------------------------------------------
	APE      | Copy Previous Error
	BAFL     | Branch And FLush 
	BLUSH    | Branch and .... Oops! 
	BOZO     | Branch On Zero Overflow 
	BPLPPL   | Branch PLease Pretty PLease 
	BTW      | Branch This Way (IBM-PC) 
	BTW      | By The Way (Unix) 
	BURP     | Botch Up (Recursively) Parity 
	CAIA     | Compare and Ignore Anyway 
	CROM     | Complement Read-Only Memory 
	DOD      | Divide On Divide 
	EIEIO    | Farm out operation [McDonald/IBM-PC] 
	ELF      | Enable Magic Process [Unix] 
	ELPR     | Enter Loop PRematurely 
	FOOT     | Bootstrap 
	GILA     | Get Imaginary Load Address 
	GIN      | Get Immediate Nibble  [always ANDed with TONIC opcode]
	GIRL     | Go Immediately to Register Load
	IAPI     | Invalidate All Previous Instructions
	ISORE    | Increment and Skip On REcursion 
	JA       | Jump Anyway
	LPIO     | Light Pen Ink Overflow 
	LPRCHN   | Enable Magic Number [Irish PC] 
	PEPSI    | Pause Execution on Parity Set Immediate 
	RECUR    | Recurse to here
	SALMN    | SpAwn new process 
	SEXIER   | Set EXtended IntERrupt
	TONIC    | Turn ON Illogical Character  [always ANDed with GIN opcode]
	TPDA     | Triple Pack Decimal Adjust 
	TWEEP    | Terminate process With ExtrEme Prejudice 
	TWEP     | Terminate process With Extreme Prejudice 
	VACUUM   | Verify All blonde operators 
	WAFFLE   | Enable comms port

	========================================================
	S E C O N D   B E S T
	========================================================
	MNEMONIC | INSTRUCTION
	---------| ---------------------------------------------
	ABAR     | Add Bits At Random 
	APCR     | Advance Program Counter Rudely 
	BCBF     | Branch on Chip box Full 
	BLED     | Blink LED 
	BOSC     | Branch on Second Coming 
	BPOFF    | Branch on Power Off 
	BRAS     | Branch and Suspend 
	BTDI     | Branch to Data Immediate 
	CURD     | Cook User's Raw Data 
	DEBAR    | Delete Extended Bits At Random 
	DOI      | Divide and Overflow [IBM PC] 
	DRB      | Drop Random Bits 
	DUMMY    | Suck operand 
	EABB     | Edit and Blank Buffer 
	EPSI     | Execute Program SIdeways 
	ETM      | Emulate Ternary Machine 
	GRAB     | Generate Random Access Bugs 
	KBB      | Kick Bit Bucket 
	LAWYER   | Load Accumulator With Yet another Error 
	MALP     | Multiply and Lose Precision 
	OSIN     | Overflow Stack INdefinite 
	PODD     | Print Only Double-Dutch 
	POT      | Cook in bit-bucket 
	RAMBO    | Read Ambiguous Memory BlOck 
	RDOB     | Read and Drop Odd number of Bits 
	ROSU     | Return On Shield Up 
	SUSS     | Subtract Until Senseless 
	SWAN     | SWAp Nibbles 
	WILL     | Write ILLegibly 

	========================================================
	M O S T   A R E   P R E T T Y   G O O D
	========================================================
	MNEMONIC | INSTRUCTION
	---------| ---------------------------------------------
	AMAM     | Add Mayo and Mustard 
	BFAB     | Belch Fire and Brimstone 
	BLT      | Bacon, Lettuce & Tomato 
	BOHO     | Branch on High Operator 
	BOND     | Binary Operator No Divide
	BOOD     | Branch on Operator Desperate 
	BYAM     | Between You And Me 
	CPUMD    | CPU Melt Down 
	CREAM    | CREAte Memory 
	CRON     | Convert to Roman Numerals 
	EDAD     | Eat Disk and Die 
	EDRAD    | Emit Deadly Radiation 
	EFUD     | Emulate Frisbee Using Disk-pack 
	EMF      | EMulate 407 
	LAPD     | Laugh At Police Department 
	LAPM     | Laugh At Programmer 
	MBUGTD   | Mount Beatles on Tape Drive 
	MULR     | Multiply and Lose Record 
	OMTC     | Obscene Message to Console 
	PAROT    | PARity Overflow Transfer
	PICH     | Print Illegible Characters 
	PSRIB    | Print and Shred Ribbon 
	RABT     | Rewind and Break Tape 
	RCLOB    | Run Clock Backwards 
	RDBL     | Replace Database with Blanks 
	REDI     | Rewind Disk Immediate 
	RLAC     | Relocate and Lose Core 
	RMF      | Ruin My files 
	ROMULUS  | Useless Roman Numeral 
	RPAB     | Reverse Parity and Branch 
	RPABL    | Read Print and Blush 
	SADD     | Seek and Destroy Data 
	SASC     | Show Appendix SCar 
	SAXS     | Show Appendix Scar 
	SESP     | Seek SPindle 
	SHC      | Shred Cards 
	SOOL     | Shit Out Of Luck 
	SORBET   | StOp and fizzle 
	STT      | Skip on Third Tuesday 
	SULP     | Solve UnsoLvable Problem 
	TOOO     | Toggle Operator On/Off 
	TTOL     | Time TO Logoff 
	UPM      | Understand Program[mer] 
	WINE     | Wait INdefinitely Extended
	XXMP     | eXecute Miss Piggy                     

--------------------------------------------------------------------------------
Now that you have chosen your language you need to know something about "REAL"
Software engineers.

REAL SOFTWARE ENGINEERS DON'T READ DUMPS
Real software engineers don't read  dumps. They never generate them, and
on the rare occasions that they come across them, they are vaguely amused.

Real software engineers don't comment their code. The identifiers are so
mnemonic they don't have to.

Real software engineers don't write applications programs, they implement
algorithms. If someone has an application that the algorithm might help with,
that's nice. Don't ask them to write the user interface, though.

Real software engineers don't eat quiche.

If it doesn't have recursive function calls, real software engineers don't
program in it.

Real software engineers don't program in assembler. They become queasy at the
very thought.

Real software engineers don't debug programs, they verify correctness.
This process doesn't necessarily involve executing anything on a computer,
except perhaps a Correctness Verification Aid package.

Real software engineers like C's structured constructs, but they are
suspicious of it because they have heard that it lets you get "close to the
machine."

Real software engineers play tennis. In general, they don't like any sport
that involves getting hot and sweaty and gross when out of range of a shower.
(Thus mountain climbing is Right Out.) They will occasionally wear their
tennis togs to work, but only on very sunny days.

Real software engineers admire PASCAL for its discipline and Spartan purity,
but they find it difficult to actually program in. They don't tell this to
their friends, because they are afraid it means that they are somehow
Unworthy.

Real software engineers work from 9 to 5, because that is the way the job is
described in the formal spec. Working late would feel like using an
undocumented external procedure.

Real software engineers write in languages that have not actually been
implemented for any machine, and for which only the formal spec (in BNF) is
available. This keeps them from having to take any machine dependencies into
account. Machine dependencies make real software engineers very uneasy.

Real software engineers don't write in ADA, because the standards bodies have
not quite decided on a formal spec yet.

Real software engineers like writing their own compilers, preferably in PROLOG
(they also like writing them in unimplemented languages, but it turns out to
be difficult to actually RUN these).

Real software engineers regret the existence of COBOL, FORTRAN and BASIC.
PL/I is getting there, but it is not nearly disciplined enough; far too much built in function.

Real software engineers aren't too happy about the existence of users, either.
Users always seem to have the wrong idea about what the implementation and
verification of algorithms is all about.

Real software engineers don't like the idea of some inexplicable and greasy
hardware several aisles away that may stop working at any moment. They have
a great distrust of hardware people, and wish that systems could be virtual
at ALL levels. They would like personal computers (you know no one's going to
trip over something and kill your DFA in mid-transit), except that they need 8 megabytes to run their Correctness Verification Aid packages.

Real software engineers think better while playing WIFF 'N' PROOF.

-------------------------------------------------------------------------------
**********

The Lesser-known Programming Languages #10: SIMPLE
SIMPLE is an acronym for Sheer Idiot's Monopurpose Programming Language
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.

The Lesser-known Programming Languages #12: LITHP
This otherwise unremarkable language is distinguished by the absence of
an "S" in its character set; users must substitute "TH". LITHP is said
to be useful in protheththing lithtth.

The Lesser-known Programming Languages #13: 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 travel to Bolivia to pick 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.

The Lesser-known Programming Languages #17: SARTRE
Named after the late existential philosopher, SARTRE is an extremely
unstructured language. Statements in SARTRE have no purpose; they just
are. Thus SARTRE programs are left to define their own functions.
SARTRE programmers tend to be boring and depressed, and are no fun at
parties.

The Lesser-known Programming Languages #18: 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.

The Lesser-known Programming Languages #18: 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 this language.

Submited By Stsai@huse.havard.edu


--------------------------------------------------------------------------------


               ZEN AND THE ART OF SOFTWARE DOCUMENTATION

     (Translated from the P'-u-t'ung hua dialect by W.C.Carlson)

     Editor's Note:  The following are excerpts from the only known
treatise on Zen Software Documentation.  Called "H'ring-chu-tsu", which
literally translates to "Ink of Several Insignificant Matters", this
treatise was written in 12th Century Japan by the scholarly monk
E'm-ie-T'.  That it discusses Software documentation -- predating the
advent of software by 850 years -- is but another of the mysteries of
those who walk the true path.)
     This article should be read twice.
On Preparing to Write of Software
     To prepare for the writing of Software, the writer must first
become one with it, sometimes two.  Software is untasteable, opalescent,
transparent; the user sees not the software, so the writer must see
through it.  Spend long, quiet mornings in meditation.  Do not sharpen
the mind, but rather blunt it by doing Zen crosswords.
(Ed. note:  Zen crosswords are done by consulting only the "Down" clues;
and always in the mind, never on paper.)

     The mind should be rooted but flexible, as a long stemmed flower
faces the Sun yet bends with the Wind.  Think not of compound adjectives
because they tend to wire the mind in two directions.  Rather, consider
the snowflake, which radiates in beauty in any and all directions.
Partake of strong drink.

     Do not study the Software; let it study you.  Allow the Software
admission to your mind, but keep in the cheap seats.  Let it flow around
you at its own pace.  Do not disturb or dismay it, but keep it from your
private parts because it tends to coalesce there.

     When the Software is with you, you will know it.  It will lead your
mind where it should be, and prepare you for the narcolepsy that is cert
ain to follow.  You will know when the Software is with you, and so will
others.  You will smile with an inner smile.  Typewriters will frighten
you.  You will fall down a lot.

     The first exercise in writing Software documentation is the Haiku.
Haiku are 17 syllable poem forms in which many ideas of a single concept
are reduced  -- nay, distilled -- into a short, impressionistic poem.
For example, the Haiku for preparing to write of Software goes:

                   Emptiness on paper;
                        Fleeting thought.
                   Red Sox play at Fenway's
                        Green Park.

By concentrating on the Softwares form and function in a concise,
subliminal, truly meaningless Haiku verse, you have transcended the
Software, and you can then write the true manual.

The following Haiku is from a Zen manual on Data Transmission:

                   How swiftly whirls the disk;
                   Data leaps to the floating head
                   And is known.

And this is on Hardware Maintenance:

                   The smell of hot P.C. card,
                     Blank screen, no bell,
                   New parts will be needed.

And another Haiku, this one on Debugging:

                   All the lights are frozen;
                   The cursor blinks blandly.
                   Soon, I shall see the dump.

Let the Haiku thoughts free your mind from your fingers.  Your fingers
will write what must be written.  Soon you will be in Doc. Prep.

On the Review Cycle

     This is the murkiest path.  Storms gather and disperse around you
many directions, none of which are in English.  The path becomes unclear
as many an idea compete for attention.  Some of them are fatal.

     But the writer of Zen Software documentation fears not the
turbulence of review cycles.  Let it storm around you and be dry, warm,
and safe in the knowledge that you have written the pure manual.
Anyway, you know the printer.  You shall in the end have it your way.

--------------------------------------------------------------------------------


This one was passed on to me by a friend of mine.  He doesn't remember
where it came from.

Warning:  This list may be offensive to ardent feminists.

{ed This is similar to another item Dan co-wrote, comparing programming
languages to cars.  The one with the cars is superior.  It appears in
Volume I of the TeleJokeBook series.}

PROGRAMMING LANGUAGES ARE LIKE WOMEN

by: Daniel J. Salomon Department of Computer Science, University of Waterloo
Waterloo, Ontario, Canada  N2L 3G1

There are so many programming languages available that it can be very
difficult to get to know them all well enough to pick the right one for you.
On the other hand most men know what kind of woman appeals to them. So here
is a handy guide for many of the popular programming languages that describes
what kind of women they would be if programming languages were women.

Assembler - A female track star who holds all the world speed records.  She
is hard and bumpy, and so is not that pleasant to embrace.  She can cook up
any meal, but needs a complete and detailed recipe.  She is not beautiful or
educated, and speaks in monosyllables like "MOV, JUMP, INC".  She has a
fierce and violent temper that make her the choice of last resort.

FORTRAN - Your grey-haired grandmother.  People make fun of her just because
she is old, but if you take the time to listen, you can learn from her
experiences and her mistakes.  During her lifetime she has acquired many
useful skills in sewing and cooking (subroutine libraries) That no younger
women can match, so be thankful she is still around.  She has a notoriously
bad temper and when angered will start yelling and throwing dishes.  It was
mostly her bad temper that made grandad search for another wife.

COBOL - A plump secretary.  She talks far too much, and most of what she says
can be ignored.  She works hard and long hours, but can't handle really
complicated jobs.  She has a short and unpredictable temper, so no one really
likes working with her.  She can cook meals for a huge family, but only knows
bland recipes.

BASIC - The horny divorcee that lives next door.  Her specialty is seducing
young boys and it seems she is always readily available for them.  She
teaches them many amazing things, or at least they seem amazing because it is
their) first experience.  She is not that young herself, but because she was
their first lover the boys always remember her fondly.  Her cooking and
sewing skills are mediocre, but largely irrelevant, it's the frolicking that
the boys like.  The opinion that adults have of Mrs.  BASIC is varied.
Shockingly, some fathers actually introduce their own sons to this immoral
woman!  But generally the more righteous adults try to correct the badly
influenced young men by introducing them to well behaved women like Miss
Pascal.

PL/I - A bordello madam.  She wears silk dresses, diamonds, furs and red high
heels.  At one time she seemed very attractive, but now she just seems
overweight and tacky.  Tastes change.

C - A lady executive.  An avid jogger, very healthy, and not too talkative.
Is an good cook if you like spicy food.  Unless you double check everything
you say (through LINT) you can unleash her fierce temper.  Her daughter C++
is still quite young and prone to tantrums, but it seems that she will grow
up into a fine young woman of milder temper and more sophisticated character.

ALGOL 60 - Your father's wartime sweetheart, petite, well proportioned, and
sweet tempered.  She disappeared mysteriously during the war, but your dad
still talks about her shapely form and their steamy romance.  He never
actually tasted much of her cooking.

Pascal - A grammar school teacher, and Algol 60's younger sister.  Like her
sister she is petite and attractive, but very bossy.  She is a good cook but
only if the recipe requires no more than one pot (module).

Modula II - A high-school teacher and Pascal's daughter.  Very much like her
mother, but she has learned to cook with more than one pot.

ALGOL 68 - Algol 60's niece.  A high-society woman, well educated and terse.
Few men can fully understand her when she talks, and her former lovers still
discuss her mysterious personality.  She is very choosy about her romances
and won't take just any man as her lover.  She hasn't been seen lately, and
rumor has it that she died in a fall from an ivory tower.

LISP - She is an aging beatnik, who lives in a rural commune with her hippie
cousins SMALLTALK and FORTH.  Many men (mostly college students) who have
visited the farmhouse,-- enthusiastically praise the natural food, and
perpetual love-ins that take place there.  Others criticize the long cooking
times, and the abnormal sexual postures (prefix and postfix). Although these
women seldom have full-time jobs, when they do work, their employers praise
them for their imagination, but usually not for their efficiency.

APL - A fancy caterer specializing in Greek food.  She can cook delicious
meals for rows and rows of tables with dozens of people at each table.  She
doesn't talk much, as that would just slow her work down.  Few people can
understand her recipes, since they are in a foreign language, and are all
recorded in mirror writing.

LOGO - A grade-school art teacher.  She is just the kind of teacher that you
wish you had when you were young.  She is shapely and patient, but not an
interesting conversationalist.  She can cook up delicious kiddie snacks, but
not full-course meals.

LUCID & PROLOG - These clever teenagers show a new kind of cooking skill.
They can cook-up fine meals without the use of recipes, working solely from a
description of the desired meal (declarative cooking).  Many men are
fascinated by this and have already proposed marriage.  Others complain that
the girls work very slowly, and that often the description of the meal must
be just as long as a recipe would be.  It is hard to predict what these girls
will be like when they are fully mature.

Ada - A WAC colonel built like an amazon.  She is always setting strict
rules, but if you follow them, she keeps her temper.  She is quite talkative,
always spouting army regulations, and using obscure military talk.  You gotta
love her though, because the army says so.

--------------------------------------------------------------------------------


Top 25 Explanations by Programmers
==================================


1. Strange...
2. I've never heard about that.
3. It did work yesterday.
4. Well, the program needs some fixing.
5. How is this possible?
6. The machine seems to be broken.
7. Has the operating system been updated?
8. The user has made an error again.
9. There is something wrong in your test data.
10. I have not touched that module!
11. Yes yes, it will be ready in time.
12. You must have the wrong executable.
13. Oh, it's just a feature.
14. I'm almost ready.
15. Of course, I just have to do these small fixes.
16. It will be done in no time at all.
17. It's just some unlucky coincidense.
18. I can't test everything!
19. THIS can't do THAT.
20. Didn't I fix it already?
21. It's already there, but it has not been tested.
22. It works, but it's not been tested.
23. Somebody must have changed my code.
24. There must be a virus in the application software.
25. Even though it does not work, how does it feel?

--------------------------------------------------------------------------------


                        Computer Language Breakthrough

Bell Laboratories  has formally announced what  it believes is  the ultimate
computer science language.   Described by Iusi Nogoto,  the foremost Japanese
fourth generation language expert, as "the only truly elegant computer language
ever devised." NULL, as it is known,  was developed by the same department that
originally invented the wrong number, the busy signal,  and the phrase,  "The
number you have reached  is not in service." NULL is  the culmination of five
years  of work  by  a team  of language  designers  and computer  science
mathematicians.   The final breakthrough occurred when operating system expert
Hugh Nicks suggested that if  removing GO TO"s was good then  why not scrap IF
statements as well,   since they usually required typing  too many characters
anyway.  This  brilliant concept was extended  through a series  of complex
mathematical theorems  that form the basis  of the NULL language.    Put in
layman"s terms by Sally Kahn-Vallee, electrical engineer and PROM reader, "Like
we first we tossed out the bath water,   then the baby,  and like finally the
whole tub." The elegance  and conciseness of NULL can thus be  proven to be a
direct consequence  of the fact  that the  language as defined  contains no
statements at all.  While at first glance this may seem a drawback, in fact, it
is a major improvement over any other language.  A few of the numerous reasons
are:

 1. Highly structured constructs.

 2. Advanced data hiding techniques.

 3. A NULL compiler can  be written first in NULL with out  ever needing to be
   written in a lower level language.

 4. Since there are no statements to compile, in fact, no compiler need ever be
   written in the first place, saving time and money.

 5. Since there will be no compilers, no new releases will ever be issued hence
   maintenance is reduced.

 6. NULL programs are highly portable and totally machine independent.

 7. NULL programs compile and execute rapidly.   An important point to note is
   that with the addition of a small  amount of language dependent code,  e.g.
   PROC/END etc.,  all  NULL programs can be compiled by  any other language
   compiler.

 8. Since there will never be new releases of NULL,  all programs are upwardly
   and downwardly compatible.

 9. NULL can be parsed top-down, bottom-up, left-right, right-left, inside-out,
   and over-easy.

10. NULL programs are both self-documenting for clarity and self-concealing for
   security.

11. NULL programmers are easy  to find and once found can  be fired since they
   are not needed.

12. If desired,  specialized NULL hardware  could be designed implementing the
   code in firmware. Of course, such hardware may require years of development.
   One suggestion from Bell"s VLSI experts Nora  and Andy Gates was to take an
   existing available chip and remove all  the instructions except NOP.  While
   this should work in theory,  they acknowledged  that it is probably not the
   most efficient implementation.

These are just a few of the many  ways NULL is superior to all current computer
languages. You can, no doubt, think of more. For further reading consult any of
the numerous books and articles by Donald Knuth, David Parnas,  and of course,
the basis of all modern computer language theory, "The Emperor"s New Clothes."

            By John R. Andrews, University of Illinois at Chicago.


More jokes like this:computer programming
Brought to you at http://terhune.net/jokes/