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 handy reference is offered as a public service to help programmers who find themselves in such a dilemma.
Which language is right for you?
In order to help you make a competent, uncomplicated choice concerning the competition between complex, incompatible computer compilers, we have composed this complete, compact, composite compendium comprising comparisons to compensate for the complaints and complements of their compromises. We hope you will find it comprehensible rather than compost.
Task: Shoot yourself in the foot.
370 JCL: You send your foot down to MIS and include a 400-page document explaining exactly how you want it to be shot. Three years later, your foot comes back deep-fried.
Access: You try to point the gun at your foot, but it shoots holes in all your Borland distribution diskettes instead.
Ada: After correctly packing 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 you can't because your foot is of the wrong type.
or
The United States Department of Defense kidnaps you, stands you up in front of a
firing squad, and tells the soldiers, "Shoot at his feet."
or
A fly lands on your foot. After filling out the appropriate forms, in
triplicate, you succeed in requisitioning an M-16 to deal with the fly. You
then proceed to shoot your foot off. The fly survives.
APL: You shoot yourself in the foot, then spend all day figuring out how to do
it in fewer characters.
or
GN </ FT ^ BLT
or
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.
Assembler: You try to shoot yourself in the foot, only to discover you must
first invent the gun, the bullet, the trigger, and your foot.
or
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.
BASIC (interpreted): You shoot yourself in the foot with a water pistol. On large systems, continue until entire lower body is waterlogged.
BASIC (compiled): You shoot yourself in the foot with a BB using a SCUD missile launcher.
C: You shoot yourself in the foot and then no one else can figure out what you did.
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."
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 re-tied.
Concurrent Euclid: You shoot yourself in somebody else's foot.
dBase: You buy a gun. Bullets are only available from another company and are promised to work so you buy them. Then you find out that the next version of the gun is the one that is scheduled to actually shoot bullets.
FORTH: Foot in yourself 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 with the attempts to shoot yourself anyways because you have no exception handling capability.
HyperTalk: Put the first bullet of gun into foot left of leg of you. Answer the result.
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 the gun with which you shoot yourself in the appendage which holds...
Modula-2: You perform a shooting on what might currently be a foot with what
might currently be a bullet shot by what might currently be a gun.
or
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 bullet, its trajectory, and the intricate scrollwork on the ivory handles of the gun. When you finally get around to pulling the trigger, the gun jams.
Occam: You shoot both your feet with several guns at once.
ORCA/C: Byteworks keeps promising to supply good ammunition RSN!
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.
or
Same as Modula-2, except the bullet is not of the right type for the gun and
your hand is blown off.
or
You try to shoot yourself in the foot, but it tells you that your foot is the
wrong type and out of range to boot!
PL/I: After consuming all system resources including bullets, the data processing department doubles its size, acquires two new mainframes and drops the original on your foot.
Prolog (interpreted): Your program tries to shoot you in the foot, but you die of old age before the bullet leaves the gun.
Prolog (compiled): The facts are against you. You try to stop the gun from
shooting you in the foot, but it replies, "No."
or
You tell your program that you want to be shot in the foot. The program
figures out how to do it, but the syntax doesn't permit it to explain it to you.
Revelation: You are sure you will be able to shoot yourself in the foot, just as soon as you figure out what all those nifty little bullet-thingies are for.
Smalltalk, Actor: After playing with the graphics for three weeks the programming manager shoots you in the head.
SNOBOL: If you succeed, shoot yourself in the left foot. If you fail, shoot
yourself in the right foot.
or
Grab your foot with your hand and rewrite your hand to be a bullet.
Unix:
% ls
foot.c foot.h foot.o toe.c toe.o
% rm * .o
rm:.o no such file or directory
% ls
%
Visual Basic: You'll really only _appear_ to have shot yourself in the foot, but you'll have had so much fun doing it that you won't care.
DOS Airline: Everybody pushes the airplane until it glides, then they jump on and let the plane coast until it hits the ground again, then they push again, jump on again and so on.
DOS with QEMM Airline: The same thing but with more leg room to push.
Mac Airline: All the stewards, stewardesses, captains, baggage handlers, and ticket agents look the same, act the same, and talk the same. Every time you ask questions about details, you are told you don't need to know, don't want to know, and that everything will be done for you without you having to know, so just shut up.
OS/2 Airline: To board the plane, you have your ticket stamped ten different times by standing in ten different lines. Then you fill out a form showing where you want to sit and whether the plan should look and feel like an ocean liner, a passenger train, or a bus. If you succeed in getting on board the plane and the plane succeeds in getting off the ground, you have a wonderful trip...except for the times when the rudder and flaps get frozen in position, in which case you have time to say your prayers and get in crash position.
Windows Airline: The airport terminal is nice and colorful, with friendly stewards and stewardesses, easy access to the plane, and a completely uneventful takeoff...then, once in the air, the plane blows up without any warning whatsoever.
Win NT Airline: Everyone marches out on the runway, says the password in unison, and forms the outline of an airplane. Then they all sit down and make a whooshing sound like they're flying.
Unix Airline: Everyone brings one piece of the plane with them when they come to the airport. They all go out on the runway and put the plane together piece by piece, arguing constantly about what kind of plane they're building.
Mach Airline: There is no airplane. The passengers gather and shout for an airplane, then wait and wait and wait and wait. A bunch of people come, each carrying one piece of the plane with them. These people all go out on the runway and put the plane together piece by piece, arguing constantly about what kind of plane they're building. The plane finally takes off, leaving the passengers on the ground waiting and waiting and waiting and waiting. After the plane lands, the pilot telephones the passengers at the departing airport to inform them that they have arrived.
Newton Airline: After buying your tickets 18 months in advance, you finally get to board the plane. Upon boarding the plane, you are asked for your name. After 4-6 times, the crew member recognizes your name and you are then allowed to take your seat. As you are getting ready to take your eat, the steward announces that you will have to repeat the boarding process because they are out of room and need to recount to make sure they can take more passengers.
Did you ever wonder what driving to the store would be like if operating systems ran your car?
MS-DOS: You get in the car and try to remember where you put your keys.
WINDOWS: You get in the car and drive to the store very slowly because attached to the back of your car is a freight train.
OS/2: After fueling up with 6000 gallons of gas, you get in the car and drive to the store with a motorcycle escort and a marching band in procession. Halfway there, the car blows up, killing everybody in town.
UNIX: You get in the car and type GREP STORE. After reaching speeds of 200 mph en route, you arrive at the barber shop.
Windows NT: You get in the car and write a letter that says, "go to the store". Then you get out of the car and mail the letter to your dashboard.
OS/400: An attendant locks you into the car, then drives you to the store where you get to watch everybody else buy filet mignon.
Taligent/Pink: You walk to the store with Ricardo Montalban, who tells you how wonderful it will be when he can fly you to the store in his Learjet.
S/36 SSP: You get in the car and drive to the store. Halfway there, you run out of gas. While walking the rest of the way, you are run over by kids on mopeds.
MacIntosh System 7: You get in the car to go to the store and the car drives you to church.