[comp.software-eng] Selecting a Programming Language Made Easy

tok@stiatl.UUCP (Terry Kane) (06/28/90)

There was a request in alt.folklore.computers for a reproduction of this
article, which I believe originally appeared in ACM Software Engineering
Notes.  I've seen the original, but a FOAF keyed it in retaining all credit
to the authors at the University of Waterloo, Canada - Daniel Salomon &
David Rosenbluth.  Cross posted to comp.software-eng for (^alt) types'
edification.
	Enjoy.

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

Selecting a Programming Language Made Easy

	Daniel Salomon & David Rosenbluth
	Department of Computer Science, University of Waterloo
	Waterloo, Ontario, Canada N2L 3G1

    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
languages is a time consuming process.  On the other hand, most people al-
ready 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 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,
		an fuzzy dice hanging in the windshield.
C		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 Volkswagen Beetle.  It's small but sturdy.  Was once popular
		with intellectuals.
Modula II	A Volkswagen Rabbit with a trailer hitch.
ALGOL 68	An Aston 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
		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 difficulties reading the design specifications are start-
		ing to clear up.

------------------------------------------------------------------------------
-- 
Terry Kane                                             gatech!stiatl!tok
Sales Technologies, Inc
3399 Peachtree Rd, NE
Atlanta, GA  (404) 841-4000

lgm@cbnewsc.att.com (lawrence.g.mayka) (06/29/90)

In article <10258@stiatl.UUCP> tok@stiatl.UUCP (Terry Kane) writes:
>LISP		An electric car.  It's simple but slow.  Seat belts are not
>		available.

Since Lisp checks datatypes at run time, perhaps we should say, "Fully
padded cell-like interior eliminates the need for seat belts."


	Lawrence G. Mayka
	AT&T Bell Laboratories
	lgm@iexist.att.com

Standard disclaimer.

wdr@wang.com (William Ricker) (07/03/90)

lgm@cbnewsc.att.com (lawrence.g.mayka) writes:
]In article <10258@stiatl.UUCP> tok@stiatl.UUCP (Terry Kane) writes:
]>LISP		An electric car.  It's simple but slow.  Seat belts are not
]>		available.
]Since Lisp checks datatypes at run time, perhaps we should say, "Fully
]padded cell-like interior eliminates the need for seat belts."

No, run-time automatic protection would be air-bags. ;-}

(I did like the cell pun, though.)
-- 
/bill ricker/
wdr@wang.com a/k/a wricker@northeastern.edu
*** Warning: This account not authorized to express opinions ***

kandt@ai-jupiter.JPL.NASA.GOV (Kirk Kandt) (07/05/90)

In article <1990Jun29.000738.20940@cbnewsc.att.com>, lgm@cbnewsc.att.com
(lawrence.g.mayka) writes:
|> In article <10258@stiatl.UUCP> tok@stiatl.UUCP (Terry Kane) writes:
|> >LISP		An electric car.  It's simple but slow.  Seat belts are not
|> >		available.
|> 
|> Since Lisp checks datatypes at run time, perhaps we should say, "Fully
|> padded cell-like interior eliminates the need for seat belts."
|> 
Lisp doesn't necessarily check datatypes at run-time.  You can adjust
what gets checked and when in every Lisp system that I've used in the
last 4 years.