Selecting a Programming Language Made Easy

Daniel Solomon & David Rosenblueth
Department of Computer Science
University of Waterloo
Waterloo, Ontario, Canada N2L 3G1

With such a large selection of progamming languages, it can be difficult to choose one for a particular programming project. Reading the manuals to evaluate the languages 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.

Ada
An army-green Mercedes-Benz staff car. Power steering, power brakes, 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 the difficulties reading the design specifications are starting to clear up. Has trouble getting up to speed due to all the armor plating.


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


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


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.


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


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


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


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


FORTH
A go-cart.


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


FORTRAN IV
A Model A Ford.


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


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


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


LUCID
Abolish cars and install moving sidewalks through the city. (LUCID is a data flow language.)


Maple/MACSYMA
All-terrain vehicles. Will operate on the road (integer and floating point numbers), off the road (rational numbers), and in the swamp (symbolic expressions).


Modula II
A Volkswagen Rabbit with a trailer hitch.


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


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.


PROLOG
Prototype concept-cars.


SmallTalk
Put all the buildings on wheels and move them around the city.