Choosing a Programming Compiler

How to Shoot Yourself in the Foot

In order to help you make a competent, uncomplicated choice concerning the competition
between complex, incompatible computer compilers, we have composed this complete, compact,
composite compendium comprising comparisons to compensate for the complaints and
complements of their compromises. We hope you will find it comprehensible rather than
compost. Here’s a little nerd humor. Programmers will get it. This is some old school programming jokes.

370 JCL:
You send your foot down to MIS and include a 400-page document explaining exactly how you want it to be

6502, Z80, 8080, 80286, 80×86:
You foot yourself in the shoot.

You can’t decide which gun and which bullet to use, so you hang yourself.

You accidentally 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.”

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 ability.


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…

BASIC (interpreted)
You shoot yourself in the foot with a water pistol until your foot is
waterlogged and rots off.

BASIC (compiled)
You shoot yourself in the foot with a BB using a SCUD missile launcher.

Foot in yourself shoot.


<![if !supportLists]>1.      <![endif]>You shoot yourself in the foot, then spend
all day figuring out how to do it in fewer characters.

<![if !supportLists]>2.      <![endif]>GN [/ FT ^ BLT

<![if !supportLists]>3.      <![endif]>You hear a gunshot, and there’s a hole in
your foot, but you don’t remember enough linear algebra to understand what the
hell happened.


<![if !supportLists]>1.
<![endif]>You try to
shoot yourself in the foot, only to discover you must first invent the gun, the
bullet, the trigger, and your foot.

<![if !supportLists]>2.
<![endif]>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.

The compiler won’t let
you shoot yourself in the foot.

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

Concurrent Euclid
You shoot yourself in
somebody else’s foot.

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

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.

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

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

You’ll be able to shoot
yourself in the foot just as soon as you figure out what all these bullets are

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.


<![if !supportLists]>1.
<![endif]>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. 

<![if !supportLists]>2.
<![endif]>Your program
tries to shoot you in the foot, but you die of old age before the bullet leaves
the gun.

<![if !supportLists]>3.
<![endif]>The facts
are against you.  You try to stop the
gun from shooting you in the foot, but it replies, “No.”


<![if !supportLists]>1.
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.

<![if !supportLists]>2.
<![endif]>The United
States Department of Defense kidnaps you, stands you up in front of a firing
squad, and tells the soldiers, “Shoot at his feet.”

<![if !supportLists]>3.
<![endif]>A fly lands
on your foot.  After filling out the
appropriate forms, in triplicate, you succeed in requisitioning an M-16 to deal
with the fly.  You then proceed to shoot
your foot off.  The fly survives.

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

After realizing that you
can’t actually accomplish anything in this language, you shoot yourself in the

After searching the
manual until your foot falls asleep, you shoot the computer and switch to C.

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 that is
scheduled to actually shoot bullets.

After consuming all system resources including bullets, the data processing department doubles its
size, acquires 2 new mainframes and drops the original on your foot.


The gun fires just fine,
but your foot can’t figure out what the bullets are and ignores them.

You ask a wizard for a
pair of hands. After lovingly handcrafting the gun and each bullet, you tell
everyone that you’ve shot yourself in the foot.


<![if !supportLists]>1.      <![endif]>You daydream repeatedly about shooting
yourself in the foot.  After playing with
the graphics for 3 weeks, the programming manager shoots you in the head.

<![if !supportLists]>2.      <![endif]> You send the message shoot to gun, with selectors bullet and
myFoot.  A window pops up saying
Gunpowder doesNotUnderstand: spark.
After several fruitless hours spent browsing the methods for Trigger,
FiringPin and IdealGas, you take the easy way out and create ShotFoot, a
subclass of Foot with an additional instance variable bullet hole.

 % ftp
 ftp> cd /foot
 ftp> put bullets

Hardware to Shoot Yourself With:

We’ll let you shoot
yourself, but it’ll cost you a bundle.

You insert a clip into
the gun, wait half an hour, and it goes off in random directions. If a bullet
hits your foot, you’re lucky.  When you
call technical support, they advise you that they don’t support that version of
the gun you used, but would be happy to have a salesman talk to you about an
AS-400 model.

Object “Foot”
will be included in the next release. You can upgrade for $500.  If you complain, your system mysteriously

I knew you were going to
shoot yourself in the foot.

You can use this
machine-gun to shoot yourself in the foot, but the firing pin is broken.

We don’t sell guns
anymore, just ammunition.

programming definition