Roster of programming languages for 1973

T HIS ROSTER CONTAINS a list of currently existing higher-level languages which (a) have been developed or reported in the United States; (b) have been implemented on at least one general-purpose computer; and (c) are believed to be in use in the United States by someone other than the developer. The time period involved is December 1973. In a few cases of exceptional interest , these basic ground rules have been violated; in particular, some new languages have been included even though their actual broad usage is somewhat less certain. The reason for excluding non-U.S, activities is definitely not because they are deemed inferior: the reasons are (a) the time and effort to include them would be too great and (b) the multiple sources on non-U.S, developments are not generally available to the author and a partial list is deemed worse than no list. While every effort has been made to make this list both complete and accurate, inevitably some errors of omission or commission have occured. The author would appreciate notice of these errors for correction in future rosters, subject to the constraints in the following paragraph. No attempt has been made to decide whether a language is "good"; if it satisfies the criteria indicated below, it is included. However, since a listing of this type inevitably represents certain technical value judgments, it should be made clear that the opinions stated or implied are (only) the personal views of the author. Certain items which might be considered as programming languages by some people have been omitted because they do not meet the criteria stated by the author in various places; e.g., Chapter I of the book Programming Languages: History and Fundamentals, Prentice-Hall, Inc., 1969. Stated briefly, a programming (= higher-level) language is defined as a set of characters and rules for combining them which has the following characteristics: (1) the language requires no knowledge of machine code by the user; (2) the language is significantly independent of a particular computer; (3) there is a one-many translation of instructions from source code to object code; and (4) the notation of the language is fairly natural to its problem area and is not a fixed tabular format. In some instances there are many versions of a language which is on the list, but with differing names; e.g., dialects of JOSS. In these cases a single one has been chosen as most …