HOW TO TELL WHICH PROGRAMMING LANGUAGE YOU'RE USING
(or how to shoot yourself in the foot)
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 bit-wise
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, 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.
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.
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.
Modula-2 After realizing that you can't actually
accomplish anything in this language, you shoot yourself in the
head.
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....
Pascal
The compiler won't let you shoot yourself in the foot.
BASIC Shoot yourself in the foot with a 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.
FORTH
Foot in yourself shoot.
APL
You shoot yourself in the foot, then spend all day figuring out how to
do it in fewer characters.
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 round 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.
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.
XBase
Shooting yourself is no problem. If you want to shoot yourself in the
foot, you'll have to use Clipper.
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.
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.
Assembly
You try to shoot yourself in the foot only to discover you must first
reinvent the gun, the bullet, the trigger, and your foot. You
pain-stakingly design, engineer and build a gun, turn the shells on a
lathe, and prime them by hand. You then shoot yourself in the foot,
but very quickly.
Java You get the gun and take aim. After pulling the
trigger you are told you don't have permission to shoot yourself in
the foot.
perl You read your entire body into a small target and
match everything that resembles feet, replacing them with shot
ones. It's possible to do this with a single compact handmade gun, of
which you can barely figure out were to put the bullets by the time
you finish building it.
INGRES
You pull the trigger, and your identical twin in San Francisco gets
shot. You then turn off distributed query optimization.
VMS
$ MOUNT/DENSITY=.45/LABEL=BULLET/MESSAGE="BYE"
BULLET::BULLET$GUN SYS$BULLET
$ SET GUN/LOAD/SAFETY=OFF/SIGHT=NONE/HAND=LEFT/CHAMBER=1/
ACTION=AUTOMATIC/LOG/ALL/FULL SYS$GUN_3$DUA3:[000000]GUN.GUN
$ SHOOT/LOG/AUTO SYS$GUN SYS$SYSTEM:[FOOT]FOOT.FOOT
%DCL-W-ACTIMAGE, error activating image GUN
-CLI-E-IMGNAME, image file $3$DUA240:[GUN]GUN.EXE;1
-IMGACT-F-NOTNATIVE, image is not an OpenVMS Alpha AXP image
Windows9x
d:\setup
From the December 1991 issue of Developer's Insight and later from
The Well and numerous and sundry internet sources. |