Programming Language Selection Made Easy

With such a large selection of programming languages it can be difficult to
choose one for a particular project. Reading the manuals to evaluate the
language is a time consuming process. On the other hand, most people already
have a fairly good idea of how various automobiles compare. So in order to
assist those trying to choose a language, we have prepared a chart that matches
programming languages with comparable automobiles.

Assembler
     A Formula I race car. Very fast, but difficult to drive and expensive to
     maintain.

FORTRAN II
     A Model T Ford. Once it was the king of the road.

FORTRAN IV
     A Model A Ford.

FORTRAN 77
     A six-cylinder Ford Fairlane with standard transmission and no seat belts.

COBOL
     A delivery van. It's bulky and ugly, but it does the work.

BASIC
     A second-hand Rambler with a rebuilt engine and patched upholstery. Your
     dad bought it for you to learn to drive. You'll ditch the car as soon as
     you can afford a new one.

PL/I
     A Cadillac convertible with automatic transmission, a two-tone paint job,
     white-wall tires, chrome exhaust pipes, and fuzzy dice hanging in the
     windshield.


     A black Firebird, the all-macho car. Comes with optional seat belts (lint)
     and optional fuzz buster (escape to assembler).

ALGOL 60
     An Austin Mini. Boy that's a small car.

Pascal
     A Volkswagon Beetle. It's small but sturdy. Was once popular with
     intellectuals.

Modula II
     A Volkswagon Rabbit with a trailer hitch.

ALGOL 68
     An Austin Martin. An impressive car, but not just anyone can drive it.

LISP
     An electric car. It's simple but slow. Seat belts are not available.

PROLOG, LUCID
     Prototype concept-cars.

Maple, MACSYMA
     All-terrain vehicles.

FORTH
     A go-cart.

LOGO
     A kiddie's replica of a Rolls Royce. Comes with a real engine and a
     working horn.

APL
     A double-decker bus. It takes rows and columns of passengers to the same
     place all at the same time. But, it drives only in reverse gear and is
     instrumented in Greek.

Ada
     An army-green Mercedes-Benz staff car. Power steering, power breaks, and
     automatic transmission are all standard. No other colors or options are
     available. If it's good enough for the generals, it's good enough for you.
     Manufacturing delays due to difficulties reading the design specification
     are starting to clear up.

-------------------------------------------------------------------------------

                       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
find it comprehensible rather than compost.

Assembler
     You shoot yourself in the foot.

Ada
     The Department of Defence shoots you in the foot after offering you a
     blindfold and a last cigarette.

BASIC (interpreted)
     You shoot yourself in the foot with a water pistol until your leg is
     waterlogged and rots off.

BASIC (compiled)
     You shoot yourself in the foot with a BB using a SCUD missile launcher.

C++
     You create a dozen instances of yourself and shoot them all in the foot.
     Not knowing which feet are virtual, medical care is impossible.

COBOL
     USE HANDGUN.COLT(45), AIM AT LEG.FOOT, THEN WITH ARM.HAND.FINGER ON
     HANDGUN.COLT(TRIGGER) PERFORM SQUEEZE. RETURN HANDGUN.COLT TO HIP.HOLSTER.

csh
     After searching the manual until your foot falls asleep, you shoot the
     computer and switch to C.

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.

FORTRAN
     You shoot yourself in each toe, iteratively, until you run out of toes.
     You shoot the 6th bullet anyway since no exception-processing was
     anticipated.

Modula II
     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.

Pascal
     Same as Modula-2 except the bullet is not the right type for the gun and
     your hand is blown off.

PL/I
     After consuming all the system resources including bullets, the data
     processing department doubles it's size, acquires two new mainframes, and
     drops the original on your foot.

Smalltalk, Actor, et al.
     After playing with the graphics for three weeks the programming manager
     shoots you in the head.

Snobol
     Grab your foot with your hand and rewrite your hand to be a bullet.

-------------------------------------------------------------------------------

           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 make it difficult to remember
which language you're using. This guide is offered as a public service to help
programmers in such dilemmas.


     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
     rapidly shooting at everyone in sight.

C++
     You accidentally 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 ones 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 Defence will kidnap you, stand you up in front of a firing
     squad, and tell the solders, "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.

APL
     You hear a gunshot, and there's a hole in your foot, but you don't
     remember enough linear algebra to understand what in the world happened.

This page is from an article about Generic Message Translation: Meera M.
Blattner, Lawrence T. Kou, John W. Carlson, and Dougles W. Daniel. "A Visual
Language for Generic Message Translation." (1988 IEEE Workshop on Visual
Languages)