Shooting Yourself in the Foot
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."
- Objective-C (NeXT):
- You write a protocol for shooting yourself in the foot
so that all people can get shot in their feet.
- 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."
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.
- 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.
- Pascal:
- The compiler won't let you shoot yourself in the foot.
- 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.
or
You shoot yourself in the foot, then spend all day figuring out
how to do it fewer characters.
- 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 n sight.
or
You try to shoot yourself in the foot only to discover you
must first reinvent the gun, the bullet, and your foot.
- BASIC:
- Shoot self in foot with water pistol. On big systems, continue
until entire lower body is waterlogged.
- Visual Basic:
- You'll shoot yourself in the foot, but you'll have so
much fun doing it that you won't care.
- 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 V.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.
or
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.
- 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).
If you succeed, shoot yourself in the left foot. If you fail,
shoot yourself in the right 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.
- 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.
- 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.
- 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.
- Unix:
- $ ls foot.c foot.h foot.o toe.c toe.o
$ rm * .o
rm: .o: No such file or directory
$ ls
$
- 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.