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.
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 in sight.
APL
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.
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."
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."
Modula/2
After realizing that you can't actually accomplish anything in the language,
you shoot yourself in the head.
sh, csh
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.
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.
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.
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.
BASIC
Shoot self in foot with water pistol. On big systems, continue until
entire lower body is waterlogged.
PL/I
You consume all available system resources, including all the offline
bullets. The Data Processing & Payroll Department doubles its size, triples
its budget, acquires four new mainframes, and drops the original one on your
foot.
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).
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.
English
You put your foot in your mouth, then bite it off. (For those who don't
know, English is a McDonnell Douglas/PICK query language which allegedly
requires 110% of system resources to run happily.)
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.
ORACLE
ORACLE sell 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. ORACLE provide 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.
INGRES
You pull the trigger, and your identical twin in San Franciso gets shot.
You then turn off distributed query optimisation.
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.
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 Tony was a complete twat'
FORTH
First you decide to leave the number of toes lost on the stack and then
implement the "foot-toes@" word which takes 3 numbers from the stack: foot
number, range and projectile mass (in slugs) and changes the current vocabulary
to 'blue'. While testing this word you get arrested by the police for mooning
(remember this is a bottom-up language) who demonstrate the far better top-down
approach to damaging yourself.
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 ...