The
Programmer's Guide to Languages:
How to Shoot Yourself in the Foot
The sad thing about this page is that some members of our ICT department
have not only used most of these languages but thought they were the
greatest thing since frozen pizza at the time...
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."
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 to shoot at your feet.
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.
Algol:
You shoot yourself in the
foot with a musket.
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.
APL:
You shoot yourself in the
foot, then spend all day figuring out how to do it fewer characters.
[Actually, this sentence could have been several characters shorter.]
Apple System 7:
Double click the gun icon
and a window giving a selection for guns, target areas, plus ballon
help with medical remedies, and assorted sound effects. Click shoot
button and small bomb appears with note "Error of type 1 has occurred."
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 wildly shooting at everyone
in sight.
Assembly:
You try to shoot yourself
in the foot only to discover you must first reinvent the gun, the bullet,
and your 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 bullet fits has not yet been built,
but should be arriving in the mail REAL SOON NOW. (Personally, I don't
"get" this one. I wrote TONS of stuff in Clipper (literally
more than a million lines of code) from the mid 80's to the mid 90's
- some of which is still being used to this day).
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.
Concurrent Euclid:
You shoot yourself in somebody
else's foot.
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 version 1.0:
You pull the trigger, but
it turns out that the gun was a poorly-designed grenade and the whole
building blows up.
DOS:
You finally found the gun,
but can't locate the file with the foot for the life of you.
FORTH:
Foot yourself in the 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.
INFORMIX:
The first gun doesn't work.
Three months later INFORMIX's support desk send another gun which doesn't
match the version number of the bullets. INFORMIX suggest you upgrade
to INFORMIX-ONLINE. You pull the trigger and you shoe gets wet.
INGRES:
You pull the trigger, and
your identical twin in San Franciso gets shot. You then turn off distributed
query optimisation.
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.
Modula/2:
After realizing that you
can't actually accomplish anything in this language, you shoot yourself
in the head.
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.
Neural Networks:
You train the network in
how to shoot your foot, after which it generalizes and keeps trying
to locate some guy named Connor on the net...
Objective-C (NeXT):
You write a protocol for
shooting yourself in the foot so that all people can get shot in their
feet.
OCCAM:
You send a message to your
finger, which sends a message to the trigger, which sends a message
to the firing pin, which sends a message to the primer, which sends
a message to the firing charge, which sends a message to the bullet
which sends a very unpleasant message to your foot. The pipeline continues
to run, a hail of bullets emerging from the output channel and drilling
their way via your foot to the centre of the earth. The high velocity
arrival of such stupendous amounts of lead creates a density shock-wave
which eventually collapses beyond its own event horizon. The black hole
thus formed goes on to absorb earth, most of the minor planets and the
Sun. The problems of your foot become increasingly insignificant during
this process. Hyper intelligent beings from the planet Zorg nod their
several heads wisely and confide to each other: `I always said Kirby
was a complete idiot'
ORACLE:
Larry Ellison sells you
a gun, a box of bullets, a holster, a cardboard mock-up of a wild-west
town and a Stetson. You find the trigger takes twenty seven people to
pull it. Larry provides 26 consultants all with holsters, cardboard
mock-ups and Stetsons. The bullet doesn't leave the gun-barrel and you
hire four more ORACLE consultants to optimise. The bullet bounces off
your sandals. You decide to buy INGRES. Richard Donkin shoots you in
the foot.
Paradox:
Not only can you shoot yourself
in the foot, your users can too.
Pascal:
The compiler won't let you
shoot yourself in the foot.
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.
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.
Revelation:
You'll be able to shoot yourself
in the foot just as soon as you figure out what all these bullets are
for.
RTL:
You start to really shoot
yourself in the foot, but 6 slugs is too many for an array and blows
the compiler to pieces. Eventually you realise you must rebuild the
compiler to allow such huge arrays. This is so stupid and boring that
you start shoot yourself, but just in time you are interrupted by .....
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.
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).
SNOBOL:
If you succeed, shoot yourself
in the left foot. If you fail, shoot yourself in the right foot.
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.
SYBASE:
You carelessly invoke the
procedure sp_insert_bullet() which fires a trigger (neat, eh) on the
table GUN. To maintain referential integrity, the system invokes another
trigger which inserts bullets in your other foot, your shins, your thighs,
pelvis and so on up to the cranium. You are left in third normal form.
Visual Basic:
You'll shoot yourself in
the foot, but you'll have so much fun doing it that you won't care.
If you can think of any more,
we would love to hear them!
|