How to Shoot Yourself In the Foot

This list has been around for a while (1991?) along with "If operating systems were beers" etc. These are my favourites.

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 read in the next foot and repeat. If you run out of bullets, you continue anyway because you have no exception-handling facility.
Modula-2 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.
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 Shoot yourself in the foot with a water pistol. On big systems, continue until entire lower body is waterlogged.
Forth Foot yourself in the shoot.
APL You shoot yourself in the foot; then spend all day figuring out how to do it in fewer characters.
You hear a gunshot and there's a hole in your foot, but you don't remember enough linear algebra to understand what happened.
Pascal The compiler won't let you shoot yourself in the foot.
HyperTalk Put the first bullet of the gun into foot left of leg of you. Answer the result.
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.
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.
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.
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).
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 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.
After correctly packing your foot, you attempt to concurrently load the gun, pull the trigger, scream, and confidently aim at your foot knowing it is safe. However the cordite in the round does an Unchecked Conversion, fires and shoots you in the foot anyway.
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.
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 try to shoot yourself in the foot only to discover you must first reinvent the gun, the bullet, and your foot.
BCPL You shoot yourself somewhere in the leg -- you can't get any finer resolution than that.
Concurrent Euclid You shoot yourself in somebody else's foot.
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.
Standard ML By the time you get your code to typecheck, you're using a shoot to foot yourself in the gun.
MUMPS You shoot 583149 AK-47 teflon-tipped, hollow-point, armour-piercing bullets into even-numbered toes on odd-numbered feet of everyone in the building -- with one line of code. Three weeks later you shoot yourself in the head rather than try to modify that line.
Java The gun fires just fine, but your foot can't figure out what the bullets are and ignores them.
Access You try to point the gun at your foot, but it shoots holes in all your Borland distribution diskettes instead.
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.
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 Select Bullet
From Gun.Hand
Where Chamber = 'LOADED'
And Trigger = 'PULLED'
Into Foot
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'.
Revelation You'll be able to shoot yourself in the foot just as soon as you figure out what all these bullets are for.
FlagShip Starting at the top of your head, you aim the gun at yourself repeatedly until, half an hour later, the gun is finally pointing at your foot and you pull the trigger. A new foot with a hole in it appears but you can't work out how to get rid of the old one and your gun doesn't work anymore.