 
How to Shoot Yourself In the Foot
The proliferation of modern programming languages (all of which seem to have stolen countless features from one another) sometimes makes it difficult to remember what language you're currently using. This guide is offered as a public service to help programmers who find themselves 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 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 shoot the sixth bullet anyway since no exception
        processing was anticipated.
- Modula-2
- After realizing that you can't actually accomplish anything in this
        language, you shoot yourself in the head.
        
 or
 You perform a shooting on what might be currently a foot with what
        might be currently a bullet shot by what might currently be a gun.
- COBOL
- USEing 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 retied. 
- 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...
- BASIC (interpreted)
- You shoot yourself in the foot with a water pistol until your leg is
        waterlogged and rots off. 
- BASIC (compiled)
- You shoot yourself in the foot with a BB using a SCUD missile
        launcher. 
- Visual Basic
- You'll really only appear to have shot yourself in the foot,
        but you'll have so much fun doing it that you won't care. 
- APL
- You shoot yourself in the foot; then spend all day figuring out how
        to do it in fewer characters.
        
 or
 You hear a gunshot and there's a hole in your foot, but you don't
        remember enough linear algebra to understand what happened.
 or
 @#&^$%&%^ foot
- Pascal
- The compiler won't let you shoot yourself in the foot.
        
 or
 Same as Modula-2 except that the bullet is not the right type for
        the gun and your hand is blown off.
- Forth
- Foot yourself in the shoot.
        
 or
 BULLET DUP3 * GUN LOAD FOOT AIM TRIGGER PULL BANG!
        EMIT DEAD IF DROP ROT THEN (This takes about five bytes of
        memory, executes in two to ten clock cycles on any processor and can be
        used to replace any existing function of the language as well as in any
        future words). (Welcome to bottom up programming - where you, too, can
        perform compiler pre-processing instead of writing code)
- 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).
        
 or
 If you succeed, shoot yourself in the left foot. If you fail, shoot
        yourself in the right foot.
 
- Prolog
- You tell your program you want to be shot in the foot. The program
        figures out how to do it, but the syntax doesn't allow it to explain.
        
 or
 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.
- Scheme
- As Lisp, but none of the other appendages are aware of this
        happening. 
- Algol
- You shoot yourself in the foot with a musket. The musket is
        aesthetically fascinating and the wound baffles the adolescent medic in
        the emergency room. 
- 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 the feet."
        
 or
 The Department of Defense shoots you in the foot after offering you
        a blindfold and a last cigarette.
 or
 After correctly packaging 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 that your foot is of the wrong type.
- 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 Data Processing & Payroll Department doubles its size,
        triples its budget, acquires four new mainframes and drops the original
        one on your foot. 
- Postscript
- foot bullets 6 locate loadgun aim gun shoot showpage
- PERL
- You stab yourself in the foot repeatedly with an incredibly large and
        very heavy Swiss Army knife.
        
 or
 You pick up the gun and begin to load it. The gun and your foot
        begin to grow to huge proportions and the world around you slows down,
        until the gun fires. It makes a tiny hole, which you don't feel.
- Assembly Language
- 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.
        
 or
 You try to shoot yourself in the foot only to discover you must
        first reinvent the gun, the bullet, and your foot.
- Hypertalk
- Put the first bullet of the gun into foot left of leg of you. Answer
        the result. 
- Motif
- You spend days writing a UIL description of your foot, the
        trajectory, the bullet and the intricate scrollwork on the ivory handles
        of the gun. When you finally get around to pulling the trigger, the gun
        jams. 
- Powerbuilder
- While attempting to load the gun you discover that the LoadGun system
        function is buggy; as a work around you tape the bullet to the outside
        of the gun and unsuccessfully attempt to fire it with a nail. In
        frustration you club your foot with the butt of the gun and explain to
        your client that this approximates the functionality of shooting
        yourself in the foot and that the next version of Powerbuilder will fix
        it.
Here's an extension that looks at operating systems
    
      - Unix
- You shoot yourself in the foot
        
 or
 % ls
 foot.c foot.h foot.o toe.c toe.o
 % rm * .o
 rm: .o: No such file or directory
 % ls
 %
      - 370 JCL
- You send your foot down to MIS with a 4000-page document explaining
        how you want it to be shot. Three years later, your foot comes back
        deep-fried.
- 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 
- sh,csh, etc
- You can't remember the syntax for anything, so you spend five hours
        reading manual pages, then your foot falls asleep. You shoot the
        computer and switch to C. 
- Apple System 7
- Double click the gun icon and a window giving a selection for guns,
        target areas, plus balloon help with medical remedies, and assorted
        sound effects. Click "shoot" button and a small bomb appears
        with note "Error of Type 1 has occurred." 
- Windows 3.1
- Double click the gun icon and wait. Eventually a window opens giving
        a selection for guns, target areas, plus balloon help with medical
        remedies, and assorted sound effects. Click "shoot" button and
        a small box appears with note "Unable to open Shoot.dll, check that
        path is correct." 
- Windows 95
- Your gun is not compatible with this OS and you must buy an upgrade
        and install it before you can continue. Then you will be informed that
        you don't have enough memory. 
- Windows NT
- The gun is so huge and unwieldy that you have to keep swapping it from one hand to the other.
- CP/M
- I remember when shooting yourself in the foot with a BB gun was a big
        deal. 
- DOS
- You finally found the gun, but can't locate the file with the foot
        for the life of you. 
- Linux
- Generous programmers from around the world all join forces to help you shoot yourself in the foot for free. 
- IRIX
- The Terminator shoots you in the foot. A T-Rex bites your other foot. 
- VM/CMS
- IBM shoots you in the foot
- Cray
- You shoot yourself in the foot with an Uzi.
And yet some more...
    
      - Paradox
- Not only can you shoot yourself in the foot, your users can too.
      
- 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.
        
 or
 You buy a gun. Bullets are only available from another company and
        are promised to work so you buy them. Then you find out that the next
        version of the gun is the one scheduled to actually shoot bullets.
- DBase IV, V1.0
- You pull the trigger, but it turns out that the gun was a poorly
        designed hand grenade and the whole building blows up. 
- 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. 
- Clipper
- You grab a bullet, get ready to insert it in the gun so that you can
        shoot yourself in the foot and discover that the gun that the bullets
        fits has not yet been built, but should be arriving in the mail
        _REAL_SOON_NOW_. 
- English
- You put your foot in your mouth, then bite it off. (For those who
        don't know, English is a McDonnell Douglas/PICK query language which
        allegedly requires 110% of system resources to run happily.) 
- FidoNet
- You put your foot in your mouth, then echo it internationally. 
- Internet
- You put your foot in your mouth, shoot it, then spam the bullet so
        that everybody gets shot in the foot. 
- troff
- rmtroff -ms -Hdrwp | lpr -Pwp2 & .*place bullet in footer .B
        .NR FT +3i .in 4 .bu Shoot! .br .sp .in -4 .br .bp NR HD -2i .*
- Genetic Algorithms
- You create 10,000 strings describing the best way to shoot yourself
        in the foot. By the time the program produces the optimal solution,
        humans have evolved wings and the problem is moot.
CE 2003 / 12" Floppies