How to Determine Which Programming Language You're Using


The proliferation of modern programming languages which seem to have stolen countless features from each other sometimes makes it difficult to remember which language you're using. This guide is offered as a public service to help programmers in such dilemmas.


C:         You shoot yourself in the foot.
 
C++:       You accidently create a dozen instances of yourself and shoot them
           all in the foot. Providing emergency medical care 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."
 
Ada:       If you are dumb enough to actually use this language, the United
           States Department of Defense will kidnap you, stand you up in
           front of a firing squad, and tell the soldiers, "Shoot at his
           feet."
 
Algol:     You shoot yourself in the foot with a musket. The musket is
           esthetically fascinating, and the wound baffles the adolescent
           medic in the emergency room.
 
APL:       You hear a gunshot, and there's a hole in your foot, but you
           don't remember enough linear algebra to understand what happened.
 
Assembly:  You crash the OS and overwrite the root disk. The system
           administrator arrives and shoots you in the foot. After
           a moment of contemplation, the administrator shoots himself
           in the foot and then hops around the room rabidly shooting
           at everyone in sight.
 
BASIC:     Shoot self in foot with water pistol. On big systems, continue
           until entire lower body is waterlogged.
 
COBOL:     USEing a COLT45 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 retied.
 
DBase:     You squeeze the trigger, but the bullet moves so slowly that by
           the time your foot feels the pain you've forgotten why you shot
           yourself anyway. 
 
DBase IV version 1.0: You pull the trigger, but it turns out that the gun
           was a poorly-designed grenade and the whole building blows up.
 
Forth:     yourself foot shoot.
 
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 anyway because you have no exception-
           processing ability.
 
Modula/2:  After realizing that you can't actually accomplish anything
           in the language, you shoot yourself in the head.
 
sh, csh, etc.:
           You can't remember the syntax for anything, so you spend five
           hours reading man pages before giving up. You then shoot the
           computer and switch to C.
 
Smalltalk: You spend so much time playing with the graphics and windowing
           system that your boss shoots you in the foot, takes away your
           workstation, and makes you develop in COBOL on a character
           terminal.
 
PL/I:      You consume all available system resources, including all the
           offline bullets. The DataProcessing&Payroll Department doubles
           its size, triples its budget, acquires four new mainframes, and
           drops the original one on your foot.
 
Prolog:    You attempt to shoot yourself in the foot, but the bullet, failing
           to find its mark, backtracks to the gun which then explodes in
           your face.
 
SNOBOL:    You grab your foot with your hand, then rewrite your hand to
           be a bullet. The act of shooting the original foot then
           changes your hand/bullet into yet another foot (a left foot).
 
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...
 
scheme:    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...
           ...but none of the other appendages are aware of this happening.
 
English:   You put your foot in your mouth, then bite it off.
 
CLIPPER:   You grab a bullet, get ready to insert it in the gun so that ou
           can shoot yourself in the foot, and discover that the gun that the
           bullet fits has not yet been built, but should be arriving in the
           mail _REAL_SOON_NOW_.
 
SQL:       You cut your foot off, send it out to a service bureau and when it
           returns, it has a hole in it, but will no longer fit the
           attachment at the end of your leg.