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 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, than you read in the next foot and
repeat. If you run out of bullets, you continue anyway
because you have no exception-handling ability.
Modula2: After realizing that you can't actually accomplish
anything in this language, you shoot yourself in the head.
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 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 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 in yourself shoot.
APL: You shoot yourself in the foot, then spend all day
figuring out how to do it fewer characters.
Pascal: The compiler won't let you shoot yourself in the
foot.
SNOBOL: 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.
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.
Unix: % ls
foot.c foot.h foot.o toe.c
toe.o
% rm * .o
rm:.o: No such file or
directory
% ls
%
Paradox: Not only can you shoot yourself in the foot, your
users can too.
Revelation: You'll be able to shoot yourself in the foot
just as soon as you figure out what all these bullets are for.
Visual Basic: You'll shoot yourself in the foot, but you'll
have so much fun doing it that you won't care.
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.
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.
Assembly: You try to shoot yourself in the foot only to
discover you must first reinvent the gun, the bullet, and your
foot.
OS/2 (any language): You begin with 1400 manuals detailing
the APIENTRY's, you can't even find the reference to 'foot' in
any of the manuals even though there are 37 references in the
index... you finally start compiling when all of a sudden Bill
Gates drives by in his $900,000 Porsche, leans out of his
'Window' and shoots you in the foot... which then locks in place
due to a UAE... :)
ML/Miranda (lazy functional programming languages): You
pull the trigger on the gun, which appears to be loaded, but
really isn't. An invisible mechanism intervenes, pulls a
cartridge from the box and puts it in the gun and then lets the
gun fire. The cartridge hasn't been primed, so the
invisible mechanism loads it with primer. The gun resumes
and ignites the primer to burn the powder and fire the bullet,
but they really hadn't been made yet, so there is again a delay
as they are manufactured and put in the gun. Meanwhile, you've
given up waiting and put the gun back in your holster, at which
point the gun finally fires and shoots you in the foot.