Canonical Programming

             *****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
	OR
		MCSCS2NPT@DCT.AC.UK
	
	NOTE: The Address BANDIT@AXPVMS.CC.UTEXAS.EDU is nolonger valid

	
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 addresses
will be chearfully ignored.  If you are reading this then you have a copy in
front of you.  If you want to be placed on a mailing list for this list then
you can mail one of the above addresses and the next copy of the list will be
sent to you when it is next posted but please use the subject "CPH Mailing
List" or your message will be ignored.

	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 list can also be found at
        	HTTP://www.tay.ac.uk/~mcscs2npt/lair/humor/cph.html
	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  

Back to my Canonical Lists Humor Page
Back to my humor page
Back to my home page

nathan@visi.com