home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / lang / misc / 2863 < prev    next >
Encoding:
Text File  |  1992-09-01  |  38.8 KB  |  925 lines

  1. Path: sparky!uunet!zaphod.mps.ohio-state.edu!sdd.hp.com!hplabs!ucbvax!HAWK.CS.UKANS.EDU!billk
  2. From: billk@HAWK.CS.UKANS.EDU (Bill Kinnersley)
  3. Newsgroups: comp.lang.misc
  4. Subject: The Language List Version 1.8 - Part 1 of 9
  5. Message-ID: <9209011719.aa06181@hawk.cs.ukans.edu>
  6. Date: 1 Sep 92 22:19:45 GMT
  7. Sender: daemon@ucbvax.BERKELEY.EDU
  8. Lines: 915
  9.  
  10. The Language List - Version 1.8, September 1992
  11.  
  12. Collected information on about 1900 computer languages, past and present.
  13.  
  14. Currently maintained by:
  15.  
  16.   Bill Kinnersley
  17.   Computer Science Department
  18.   University of Kansas
  19.   Lawrence, KS 66045
  20.  
  21.   billk@hawk.cs.ukans.edu
  22.  
  23. Version 1.7:  Apr  6, 1991
  24. Version 1.6:  Jan 15, 1992
  25. Version 1.5:  Nov 10, 1991
  26. Version 1.4:  Sept 8, 1991
  27. Version 1.3:  July 8, 1991
  28. Version 1.2:  May 30, 1991
  29. Version 1.1:  May  1, 1991
  30. Version 1.0:  Mar  7, 1991
  31.  
  32. Started by:
  33.  
  34.   Tom Rombouts
  35.   Ashton-Tate Product Development
  36.   20101 Hamilton Avenue, Torrance, CA 90277
  37.   Work: (213)538-7108
  38.  
  39.   Home:
  40.   535 Esplanade, #502
  41.   Redondo Beach, CA  90277
  42.   Ans Svc: (213)543-3811
  43.  
  44.   USENET:  tomr@ashtate.A-T.com
  45.  
  46.   This document is intended to become one of the longest lists of computer
  47. programming languages ever assembled (or compiled).  Its purpose is not to
  48. be a definitive scholarly work, but rather to collect and provide the best
  49. information that we can in a timely fashion.  Its accuracy and completeness
  50. depends on the readers of Usenet, so if you know about something that
  51. should be added, please help us out.  Over 100 netters have already
  52. contributed to this effort.  We hope that this list will continue to evolve
  53. as a useful resource available to everyone on the net with an interest in
  54. programming languages.
  55.  
  56.  
  57. "YOU LEFT OUT LANGUAGE ___!"
  58.  
  59.    If you have information about a language that is not on this list,
  60. please e-mail the relevant details to the current maintainer, as shown
  61. above.  If you can cite a published reference to the language, that will
  62. help in determining authenticity.
  63.  
  64.  
  65. What Languages Should Be Included
  66.  
  67.    The "Published" Rule - A language should be "published" to be included
  68. in this list.  There is no precise criterion here, but for example a
  69. language devised solely for the compiler course you're taking doesn't
  70. count.  Even a language that is the topic of a PhD thesis might not
  71. necessarily be included.  But if material on that language was published in
  72. a technical journal or report, or if it formed the basis for additional
  73. research, the language belongs in this list.  A language does NOT have to
  74. be implemented (actually running on at least one computer) to be included. 
  75. Many languages appearing in the ACM SIGPLAN Notices fall into this
  76. category.
  77.  
  78.    In general when there's any doubt an entry will be included.  Making the
  79. list as complete as possible necessarily means there will be a large number
  80. of obscure entries.  To compensate for this "clutter" effect, more
  81. widespread languages such as C or FORTRAN should have longer entries.
  82.  
  83.    For historical completeness roughly 200 early pre-1959 "automatic
  84. programming systems" were included, based on a list from CACM 2(5):16, May
  85. 1959.  It can be argued that many of these are not really programming
  86. languages as the term is used today.  We've also included some formalisms
  87. which are clearly not meant to be used as a source language for writing
  88. programs: metalanguages such as BNF, intermediate languages such as P-Code,
  89. and computational models such as Linda.
  90.  
  91.  
  92. Dialects, Variants, Versions and Implementations
  93.  
  94.    Computer languages evolve, and are related to one another in rather
  95. complex ways.  Almost every language can be regarded as an improved version
  96. of something else.  Sometimes it's hard to know where to draw the line and
  97. say "this is a separate language".  Taking LISP as an example, what started
  98. out as a single language has evolved into a large family.  Dialects (such
  99. as Scheme and Common LISP) have major differences and are certainly
  100. considered by their users to be distinct languages.  Variants (such as
  101. Kyoto Common LISP and Allegro CL) are primarily intended to be the same,
  102. but have certain features which make them incompatible.  Implementations
  103. are designed to run on particular machines or operating systems and will
  104. usually have special features added.  Inevitably a series of revisions will
  105. be issued, causing further small changes in the language.  It has even been
  106. suggested that if command line options are present, each choice of options
  107. could be considered a distinct language!
  108.  
  109.    A language's name by itself is not always an accurate guide to its
  110. identity.  Sometimes a language will undergo significant evolution without
  111. any official change in name (e.g. SETL2 has done this).  Sometimes just the
  112. name will change (IAL to ALGOL to ALGOL 58).  And occasionally a name has
  113. been used for several distinct languages (e.g. Vulcan).
  114.  
  115.    It may also be debatable what is "in" a language and what is not.  For
  116. example SML is defined in stages: a "core syntax" surrounded by a standard
  117. set of extensions.  Technically that makes it two separate languages, but
  118. the SML core syntax would be frustrating to write programs in.  Other
  119. languages have purposely omitted essential features like I/O from their
  120. definition because they were never intended to be used without a standard
  121. library (C) or interface (Smalltalk-80), or because they constitute the
  122. command language for a particular product or system.  Still other languages
  123. are by their very nature extensible, and the number of macro packages built
  124. on TeX for example could be called an endless list of separate "languages".
  125.  
  126.    Brand names - You might wonder why we do include a number of commercial
  127. products such as Turbo Pascal.  Usually these items offer non-standard
  128. extensions to the base language.  This has been particularly true in the
  129. varieties of BASIC and Prolog.  But also one could argue that in a strict
  130. sense Microsoft C and Turbo C for example are distinct languages.
  131.    Another reason for including entries of this type is that many languages
  132. are proprietary, appearing only in a certain product.  Such languages may
  133. be distinctive and interesting and deserve to be here.  On the other hand
  134. we don't want the list to become a catalog of commercial programming
  135. products.
  136.  
  137.  
  138. What Each Entry Should Contain
  139.  
  140. Name:  An explanation of the language name, which in perhaps 80% of the
  141. cases is some form of acronym or abbreviation.
  142.  
  143. Date of origin:  The year when a language first appeared.  Since the
  144. design, implementation and distribution of a language can take place over a
  145. period of several years, such dates are often approximate.  Any language
  146. that has an ANSI or ISO standard should include the date approved.  For
  147. specific brands such as Turbo Pascal the release dates of each version can
  148. be listed.
  149.  
  150. Reference:  At least one reference work on the language, as definitive or
  151. as official as possible.
  152.  
  153. Availability:  ftp site, commercial source or publisher, contacts for
  154. further information.
  155.  
  156. "See also:"  Related languages or terms that may also be of interest.
  157.  
  158.    Any material marked with brackets "[]" is doubtful and may be considered
  159. a request for further information.
  160.  
  161.    Editorial Comments -  What constitutes a good language has often become
  162. the subject of intense debate.  We've tried to avoid adding to this by
  163. making any remarks that are clearly subjective, such as calling a language
  164. "powerful".  Nevertheless some comments might still be construed this way. 
  165. For instance saying that Pascal is "ALGOL-like" could offend both some
  166. ALGOL and some Pascal users.  Also, some questions of historical origin are
  167. not universally agreed upon.
  168.  
  169.  
  170.    Classification - It's been suggested that the languages in this list
  171. should be arranged into categories, but to do so would be extremely
  172. difficult.  For every classification scheme there wlll be a large
  173. proportion of languages that do not fit.  The languages are therefore
  174. listed alphabetically, and in fact we think that this is the most useful
  175. organization.  You'll find that the following categories have been referred
  176. to in the list, but we must emphasize that most languages are not purely
  177. one or the other, and we are really categorizing language features.
  178.  
  179. Imperative language
  180.  
  181.     A language which operates by a sequence of commands that change the
  182. value of data elements.  Typified by assignments and iteration.
  183.  
  184. Declarative language
  185.  
  186.     A language which operates by making descriptive statements about data
  187. and relations between data.  The algorithm is hidden in the semantics of
  188. the language.  This category encompasses both applicative and logic
  189. languages.  Examples of declarative features are set comprehensions and
  190. pattern-matching statements.
  191.  
  192. Procedural language
  193.  
  194.     A language which states how to compute the result of a given problem. 
  195. Encompasses both imperative and functional languages.
  196.  
  197. Applicative language
  198.  
  199.     A language that operates by application of functions to values, with no
  200. side effects.  A functional language in the broad sense.
  201.  
  202. Functional language
  203.  
  204.     In the narrow sense, a functional language is one that operates by use
  205. of higher-order functions, building operators that manipulate functions
  206. directly without ever appearing to manipulate data.  Example: FP.
  207.  
  208. Definitional language
  209.  
  210.     An applicative language containing assignments interpreted as
  211. definitions.  Example: Lucid.
  212.  
  213. Single Assignment language
  214.  
  215.     An applicative language using assignments with the convention that a
  216. variable may appear on the left side of an assignment only once within the
  217. portion of the program in which it is active.
  218.  
  219. Dataflow language
  220.  
  221.     A language suitable for use on a dataflow architecture.  Necessary
  222. properties include freedom from side effects, and the equivalence of
  223. scheduling constraints with data dependencies.  Examples: Val, Id, SISAL,
  224. Lucid.
  225.  
  226. Logic language
  227.  
  228.     A logic language deals with predicates or relationships p(X,Y).  A
  229. program consists of a set of Horn clauses which may be:
  230.     facts - p(X,Y) is true
  231.     rules - p is true if q1 and q2 and ...qn are true
  232.     queries - is g1 and g2 and ...gn true?  (gi's are the goals.)
  233.     Further clauses are inferred using resolution.  One clause is selected
  234. containing p as an assumption, another containing p as a consequence, and p
  235. is eliminated between them.  If the two p's have different arguments they
  236. must be unified, using the subsitution with the fewest constraints that
  237. makes them the same.
  238.     Logic languages try alternative resolutions for each goal in
  239. succession, backtracking in a search for a common solution.  OR-parallel
  240. languages try alternative resolutions in parallel, while AND-parallel
  241. languages try to satisfy several goals in parallel.
  242.  
  243. Constraint language
  244.  
  245.     A language in which a problem is specified and solved by a series of
  246. constraining relationships.
  247.  
  248. Object-Oriented language
  249.  
  250.     A language in which data and the functions which access it are treated
  251. as a unit.
  252.  
  253. Concurrent language
  254.  
  255.     A concurrent language describes programs that may be executed in
  256. parallel.  This may be either
  257.     multiprogramming: sharing one processor
  258.     multiprocessing: separate processors sharing one memory
  259.     distributed
  260.  
  261. Concurrent languages differ in the way that processes are created:
  262.     coroutines - control is explicitly transferred - Simula I, SL5, BLISS,
  263. Modula-2.
  264.     fork/join - PL/I, Mesa
  265.     cobegin/coend - ALGOL 68, CSP, Edison, Argus
  266.     process declarations - DP, SR, Concurrent Pascal, Modula, PLITS, Ada
  267.  
  268. and the ways in which processes interact:
  269.     semaphores - ALGOL 68
  270.     conditional critical regions - Edison, DP, Argus
  271.     monitors - Concurrent Pascal, Modula
  272.     message passing - CSP, PLITS, Gypsy, Actors
  273.     remote procedure calls - DP, *Mod
  274.         rendezvous - Ada, SR
  275.         atomic transactions - Argus
  276.  
  277. Fourth generation language (4GL's)
  278.  
  279.     A very high-level language.  May use natural English or visual
  280. constructs.
  281.  
  282. Query language
  283.  
  284.     An interface to a database.
  285.  
  286. Specification language
  287.  
  288.     A formalism for expressing a hardware or software design.
  289.  
  290. Assembly language
  291.  
  292.     A symbolic representation of the machine language of a specific
  293. computer.
  294.  
  295. Intermediate language
  296.  
  297.     A language used as an intermediate stage in compilation.  May be either
  298. text or binary.
  299.  
  300. Metalanguage
  301.  
  302.     A language used for formal description of another language.
  303.  
  304.  
  305.  
  306.                            * * * * * * *
  307.  
  308.  
  309. 2.PAK - AI language with coroutines.  "The 2.PAK Language: Goals and
  310. Description", L.F. Melli, Proc IJCAI 1975.
  311.  
  312. 473L Query - English-like query language for Air Force 473L system.  Sammet
  313. 1969, p.665.
  314.  
  315. 9PAC - 709 PACkage.  1959.  Report generator for IBM 7090.  Sammet 1969,
  316. p.314.
  317.  
  318. *LISP - ("StarLISP")  Cliff Lasser, Jeff Mincy, J.P. Massar, Thinking
  319. Machines Corp.  A data-parallel extension of Common LISP for the Connection
  320. Machine.  "The Essential *LISP Manual", TM Corp 1986.
  321. ftp: think.com:/public/starsim-f19-sharfile, a *LISP simulator.
  322. info: customer-support@think.com
  323.       documentation-order@think.com
  324.  
  325. *MOD - ("StarMOD")  Concurrent language combining the modules of Modula and
  326. the communications of Distributed Processes.  "*MOD - A Language for
  327. Distributed Programming", R.P. Cook, IEEE Trans Soft Eng SE-6(6):563-571
  328. (Nov 1980).
  329.  
  330. A0 or A-0 - Possibly the first compiler ever.  Grace Hopper's team at
  331. Remington Rand, 1952, for the UNIVAC I or II.   Later internal versions: A-
  332. 1, A-2, A-3, AT-3.  AT-3 was released as MATH-MATIC.  Sammet 1969, p.12.
  333.  
  334. AADL - Axiomatic Architecture Description Language.  "AADL: A Net-Based
  335. Specification Method for Computer Architecture Design", W. Damm et al in
  336. Languages for Parallel Architectures, J.W. deBakker ed, Wiley 1989.
  337.  
  338. ABC - 
  339.  
  340.   1. Leo Geurts, Lambert Meertens, Steven Pemberton.  Simple interactive
  341. language designed for quick easy programming.  Includes a programming
  342. environment with syntax-directed editing, suggestions, persistent variables
  343. and multiple workspaces and infinite precision arithmetic.  "An Alternative
  344. Simple Language and Environment or PC's", S. Pemberton, IEEE Software
  345. 4(1):56-64 (Jan 1987).  "The ABC Programmer's Manual", Leo Geurts et al, P-
  346. H 1989.
  347. ftp: mcsun.eu.net and uunet.uu.net  Unix source, MS-DOS, Mac and Atari ST
  348. executables.
  349. info: abc@cwi.nl
  350. list: abc-list@cwi.nl maintained by Steven Pemberton <abc-list-
  351. request@cwi.nl>.
  352.  
  353.   2. (A="argument",B="basic value",C=?).  Intermediate code for the ABC
  354. abstract machine for implementation of functional languages.  P. Koopman,
  355. "Functional Programs as Executable Specifications", 1990. [?] 
  356.  
  357. ABCL/1 - An Object-Based Concurrent Language.  Yonezawa, U Tokyo 1986. 
  358. Language for the ABCL concurrent (MIMD) system.  Asynchronous message
  359. passing to objects.  Implementations in KCL and Symbolics LISP available
  360. from the author.  "ABCL: An Object-Oriented Concurrent System", A. Yonezawa
  361. ed, MIT Press 1990.
  362. ftp: camille.is.s.u-tokyo.ac.jp
  363. info: matsu@is.s.u-tokyo.ac.jp
  364.  
  365. ABCL/c+ - Concurrent object-oriented language, an extension of ABCL/1 based
  366. on C.  "An Implementation of An Operating System Kernel using Concurrent
  367. Object Oriented Language ABCL/c+", N. Doi et al in ECOOP '88, S. Gjessing
  368. et al eds, LNCS 322, Springer 1988.
  369.  
  370. ABCL/R - Yonezawa, Tokyo Inst Tech 1988.  Reflective concurrent object-
  371. oriented language.  "Reflection in an Object-Oriented Concurrent Language",
  372. T. Watanabe et al, SIGPLAN Notices 23(11):306-315 (Nov 1988).
  373.  
  374. ABLE - Simple language for accountants.  "ABLE, The Accounting Language,
  375. Programming and Reference Manual," Evansville Data Proc Center, Evansville,
  376. IN, Mar 1975.  Listed in SIGPLAN Notices 13(11):56 (Nov 1978).
  377.  
  378. ABSET - U Aberdeen.  Early declarative language.  "ABSET: A Programming
  379. Language Based on Sets", E.W. Elcock et al, Mach Intell 4, Edinburgh U
  380. Press, 1969, pp.467-492.
  381.  
  382. ABSYS - U Aberdeen.  Early declarative language, anticipated a number of
  383. features of Prolog.  "ABSYS: An Incremental Compiler for Assertions", J.M.
  384. Foster et al, Mach Intell 4, Edinburgh U Press, 1969, pp.423-429.
  385.  
  386. Accent - Very high level interpreted language with strings, tables, etc. 
  387. Strongly typed, remote function calls.  CaseWare Inc.
  388.  
  389. Access - English-like query language used in the Pick OS.
  390.  
  391. ACL - A Coroutine Language.  A Pascal-based implementation of coroutines. 
  392. "Coroutines", C.D. Marlin, LNCS 95, Springer 1980.
  393.  
  394. ACOM - Early system on IBM 705.  Listed in CACM 2(5):16 (May 1959).
  395.  
  396. ACP - Algebra of Communicating Processes.  "Algebra of Communicating
  397. Processes with Abstraction", J.A. Bergstra & J.W. Klop, Theor Comp Sci
  398. 37(1):77-121 (1985).  (compare CCS).
  399.  
  400. ACT++ - Concurrent extension of C++ based on actors.  "ACT++: Building a
  401. Concurrent C++ With Actors", D.G. Kafura TR89-18, VPI, 1989.
  402.  
  403. ACT ONE - Specification language.  "An Algebraic Specification Language
  404. with Two Levels of Semantics", H. Ehrig et al, Tech U Berlin 83-03 Feb
  405. 1983.
  406.  
  407. Act1 - An actor language, descendant of Plasma.  "Concurrent Object
  408. Oriented Programming in Act1", H. Lieberman in Object Oriented Concurrent
  409. Programming, A. Yonezawa et al eds, MIT Press 1987.
  410.  
  411. Act2 - An actor language.  "Issues in the Design of Act2", D. Theriault,
  412. TR728, MIT AI Lab, June 1983.
  413.  
  414. Act3 - High-level actor language, descendant of Act2.  Provides support for
  415. automatic generation of customers and for delegation and inheritance. 
  416. "Linguistic Support of Receptionists for Shared Resources", C. Hewitt et al
  417. in Seminar on Concurrency, S.D. Brookes et al eds, LNCS 197, Springer 1985,
  418. pp. 330-359.
  419.  
  420. Actalk - Briot, 1989.  Smalltalk-based actor language.  "Actalk: A Testbed
  421. for Classifying and Designing Actor Languages in the Smalltalk-80
  422. Environment", J-P. Briot, Proc ECOOP '89, pp.109-129.
  423.  
  424. Active Language I - Early interactive math, for XDS 930 at UC Berkeley. 
  425. "Active Language I", R. de Vogelaere in Interactive Systems for
  426. Experimental Applied Mathematics, A-P 1968.
  427.  
  428. Actor - Charles Duff, Whitewater Group ca 1986.  Object-oriented language
  429. for Microsoft Windows.  Pascal/C-like syntax.  Uses a token-threaded
  430. interpreter.  Early binding is an option.  "Actor Does More than Windows",
  431. E.R. Tello, Dr Dobb's J 13(1):114-125 (Jan 1988).
  432.  
  433. Actors - C. Hewitt.  A model for concurrency.  "Laws for Communicating
  434. Parallel Processes", C. Hewitt et al, IFIP 77, pp. 987-992, N-H 1977. 
  435. "ACTORS: A Model of Concurrent Computation in Distributed Systems", Gul A.
  436. Agha, Cambridge Press, MA, 1986.
  437.  
  438. Actra - An exemplar-based Smalltalk.  LaLonde et al, OOPSLA '86.
  439.  
  440. Actus - Pascal with parallel extensions, similar to the earlier Glypnir. 
  441. Parallel constants, index sets.  Descendants include Parallel Pascal,
  442. Vector C, and CMU's recent language PIE.  "A Language for Array and Vector
  443. Processors," R.H. Perrott, ACM TOPLAS 1(2):177-195 (Oct 1979).
  444.  
  445. Ada - (named for Ada Lovelace (1811-1852), arguably the world's first
  446. computer programmer.)  Jean Ichbiah's team at CII Honeywell, for the U.S.
  447. Department of Defense, 1980.  Ada is a large, complex block-structured
  448. language aimed primarily at embedded computer applications.  It has
  449. facilities for real-time response, concurrency, hardware access, and
  450. reliable run-time error handling.  In support of large-scale software
  451. engineering, it emphasizes strong typing, data abstraction and
  452. encapsulation.  The type system uses name equivalence and includes both
  453. subtypes and derived types.  Both fixed and floating point numerical types
  454. are supported.
  455.     Control flow is fully bracketed: if-then-elsif-end if, case-is-when-end
  456. case, loop-exit-end loop, goto.  Subprogram parameters are in, out, or
  457. inout.  Variables imported from other packages may be hidden or directly
  458. visible.  Operators may be overloaded, and so may enumeration literals. 
  459. There are user-defined exceptions and exception handlers.
  460.     An Ada program consists of a set of packages encapsulating data objects
  461. and their related operations.  A package has a separately compilable body
  462. and interface.  Ada permits generic packages and subroutines, possibly
  463. parametrized.
  464.     Ada programming places a heavy emphasis on multitasking.  Tasks are
  465. synchronized by the rendezvous, in which a task waits for one of its
  466. subroutines to be executed by another.  The conditional entry makes it
  467. possible for a task to test whether an entry is ready.  The selective wait
  468. waits for either of two entries or waits for a limited time.
  469.     "Reference Manual for the Ada Programming Language", ANSI/MIL STD
  470. 1815A, U.S. DoD (Jan 1983).
  471. info: adainfo@ajpo.sei.cmu.edu
  472. ftp repository: wsmr-simtel20.army.mil
  473. ftp info: ajpo.sei.cmu.edu
  474. ftp interpreters: stars.rosslyn.unisys.com:pub/ACE_8.0, for SunOS
  475. AdaEd compiler/interpreter for Unix, MS-DOS, Atari ST, Amiga
  476.     ab20.larc.nasa.gov:amiga/languages/ada/AdaEd1.11.0a.bin.lzh for Amiga
  477.     cs.nyu.edu:pub/adaed
  478.  
  479. Ada 83 - The original Ada, as opposed to Ada 9X.
  480.  
  481. Ada 9X - Revision of Ada currently under development.
  482. ftp: ajpo.sei.cmu.edu
  483. mailing list: Chris Anderson <anderson@uv4.eglin.af.mil> (Ada 9X Project
  484. Manager)
  485.  
  486. Ada++ - Object-oriented extension to Ada, implemented as a preprocessor.
  487.  
  488. ADAM - A DAta Management system.
  489.  
  490. Adaplex - An extension of Ada for functional databases.  "Adaplex:
  491. Rationale and Reference Manual 2nd ed", J.M. Smith et al, Computer Corp
  492. America, Cambridge MA, 1983.
  493.  
  494. ADAPT - Subset of APT.  Sammet 1969, p.606.
  495.  
  496. ADD 1 TO COBOL GIVING COBOL - Bruce Clement.  Tongue-in-cheek suggestion
  497. for an object-oriented COBOL.  SIGPLAN Notices 27(4):90-91 (Apr 1992).
  498.  
  499. ADES - Early system on IBM 704.  Listed in CACM 2(5):16 (May 1959). 
  500. Version: ADES II.
  501.  
  502. ADL -
  503.  
  504.   1. Adventure Definition Language.  Ross Cunniff <cunniff@fc.hp.com> & Tim
  505. Brengle, 1987.  An adventure language, semi-object-oriented with LISP-like
  506. syntax.  A superset of DDL.  Available for Unix, MS-DOS, Amiga and Acorn.
  507. ftp: gatekeeper.dec.com: pub/games/comp.sources.games/volume2
  508.     wuarchive.wustl.edu: /systems/amiga/fish/fish/f0/ff091
  509.  
  510.   2. Ada Development Language.  R.A. Lees, 1989.
  511.  
  512. AdLog - Adds a Prolog layer to Ada.  "AdLog, An Ada Components Set to Add
  513. Logic to Ada", G. Pitette, Proc Ada-Europe Intl Conf Munich, June 1988.
  514.  
  515. ADM - Picture query language, extension of Sequel2.  "An Image-Oriented
  516. Database System", Y. Takao et al, in Database Techniques for Pictorial
  517. Applications, A. Blaser ed, pp.527-538.
  518.  
  519. ADVSYS - David Betz, 1986.  An adventure language, object-oriented and
  520. LISP-like.
  521. ftp: uunet.uu.net:comp.sources.games/Volume2
  522.  
  523. AE - Application Executive.  Brian Bliss <bliss@sp64.csrd.uiuc.edu>  An
  524. embeddable language, written as a C interpreter.
  525. ftp: sp2.csrd.uiuc.edu:ae.tex.Z
  526.  
  527. AED - Automated Engineering Design (aka ALGOL Extended for Design).  MIT ca
  528. 1965 by Doug Ross (now at Softech).  Systems language for IBM 7090 and 360,
  529. an extension of ALGOL-60 with records, pointers, and dynamic allocation. 
  530. DYNAMO II was written in AED.  "The Automated Engineering Design (AED)
  531. Approach to Generalized Computer-Aided Design", D.T. Ross, Proc ACM 22nd
  532. Natl Conf, 1967.  Sammet 1969 and 1978.  Versions: AED-0, AED-1, AED-JR.
  533.  
  534. Aeolus - Concurrent language with atomic transactions.  "Rationale for the
  535. Design of Aeolus", C. Wilkes et al, Proc IEEE 1986 Intl Conf Comp Lang,
  536. IEEE 1986, pp.107-122.
  537.  
  538. AESOP - An Evolutionary System for On-line Programming.  Early interactive
  539. query system with light pen for IBM 1800.  "AESOP: A Final Report: A
  540. Prototype Interactive Information Control System", J.K. Summers et al, in
  541. Information System Science and Technology, D. Walker ed, 1967.  Sammet
  542. 1969, p.703.
  543.  
  544. AFAC - Early system on IBM 704.  Listed in CACM 2(5):16 (May 1959).
  545.  
  546. AGORA - Distributed object-oriented language.[?]
  547.  
  548. AHPL - Hewlett Packard.  Hpsim interpreter written in FORTRAN.
  549.  
  550. AIDA - 
  551.  
  552.   1. M. Gfeller.  A functional dialect of Dictionary APL.  "APL Arrays and
  553. Their Editor", M. Gfeller, SIGPLAN Notices 21(6):18-27 (June 1986) and
  554. SIGAPL Conf Proc [?]
  555.  
  556.   2. Karlsruhe, 1980.  An intermediate representation language for Ada, was
  557. merged with TCOL.Ada to form Diana.
  558.  
  559. AIMACO - AIr MAterial COmmand compiler.  Modification of FLOW-MATIC. 
  560. Supplanted by COBOL.  Sammet 1969, p.378.
  561.  
  562. AKCL - Austin Kyoto Common LISP.  Bill Schelter.  Improvements to KCL.
  563. ftp: rascal.ics.utexas.edu
  564.  
  565. AKL - Andorra Kernel Language.  Successor of KAP.  "Programming Paradigms
  566. of the Andorra Kernel Language", S. Janson <sverker@sics.se> et al in Logic
  567. Programming: Proc 1991 Intl Symp, MIT Press 1991.  Prototype implementation
  568. available from the author.
  569.  
  570. AL - Assembly Language.  Stanford U, 1970's.  Language for industrial
  571. robots.  "The AL Language for an Intelligent Robot", T. Binford in
  572. Languages et Methods de Programation des Robots Industriels, pp.73-88, IRIA
  573. Press 1979.  "AL User's Manual", M.S. Mujtaba et al, Stanford AI Lab, Memo
  574. AIM-323 (Jan 1979).
  575.  
  576. ALADIN - 
  577.  
  578.   1. A Language for Attributed DefINitions.  The input language for the GAG
  579. compiler generator.  Applicative, strongly typed.  "GAG: A Practical
  580. Compiler Generator", U. Kastens et al, LNCS 141, Springer 1982.
  581.  
  582.   2. Interactive math for IBM 360.  "A Conversational System for
  583. Engineering Assistance: ALADIN", Y. Siret, Proc Second Symp Symb Algebraic
  584. Math, ACM Mar 1971.
  585.  
  586. ALAM - Symbolic math, especially for General Relativity.  "ALAM
  587. Programmer's Manual", Ray D'Inverno, 1970.  (See CLAM).
  588.  
  589. ALC - Assembly Language Compiler.  Alternative name for IBM 360 assembly
  590. language.  (cf. BAL).
  591.  
  592. ALCOR - Subset of ALGOL.  Sammet 1969, p.180.
  593.  
  594. Aldat - Database language, based on extended algebra.  Listed by M.P.
  595. Atkinson & J.W. Schmidt in a tutorial in Zurich, 1989. [?]
  596.  
  597. ALDES - ALgorithm DEScription.  "The Algorithm Description Language ALDES",
  598. R.G.K. Loos, SIGSAM Bull 14(1):15-39 (Jan 1976).
  599.  
  600. ALDiSP - Applicative Language for Digital Signal Processing.  1989, TU
  601. Berlin.  Functional language with special features for real-time I/O and
  602. numerical processing.  "An Applicative Real-Time Language for DSP-
  603. Programming Supporting Asynchronous Data-Flow Concepts", M. Freericks
  604. <mfx@cs.tu-berlin.de> in Microprocessing and Microprogramming 32, N-H 1991.
  605.  
  606. ALEC - A Language with an Extensible Compiler.  Implemented using RCC on an
  607. ICL 1906A.  "ALEC - A User Extensible Scientific Programming Language",
  608. R.B.E. Napper et al, Computer J 19(1):25-31.
  609.  
  610. ALEPH -
  611.  
  612.   1. A Language Encouraging Program Hierarchy.  ca 1975.  "On the Design of
  613. ALEPH", D. Grune, CWI, Netherlands 1986.
  614.  
  615.   2. Peter Henderson ca. 1970.  Formal semantics.  CACM 15(11):967-973 (Nov
  616. 1972).
  617.  
  618. Alex -
  619.  
  620.   1. Stephen Crawley <sxc@itd.dtso.oz.au>, Defence Science & Tech Org,
  621. Australia.  Under development.  Polymorphic with ADT's, type inference,
  622. inheritance.
  623.  
  624.   2. ISWIM-like language with exception handling.  "An Exception Handling
  625. Construct for Functional Languages", M. Brez et al, Proc ESOP88, LNCS 300,
  626. Springer 1988.
  627.  
  628. Alfl - Paul Hudak <hudak-paul@cs.yale.edu>, Yale 1983.  Functional, weakly
  629. typed, lazy.  Implemented as a preprocessor to the Orbit Scheme compiler,
  630. by transforming laziness into force-and-delay.  "Alfl Reference Manual and
  631. Programmer's Guide", P. Hudak, YALEU/DCS/RR322, Yale U, Oct 1984.  (See
  632. ParAlfl).
  633.  
  634. ALGEBRAIC - Early system on MIT's Whirlwind.  Listed in CACM 2(5):16 (May
  635. 1959).
  636.  
  637. ALGOL 58 - See IAL.
  638.  
  639. ALGOL 60 - ALGOrithmic Language.  Designed for scientific computations,
  640. ALGOL 60 was small and elegant.  It was the first language to be described
  641. in BNF.  There were three lexical representations: reference, hardware and
  642. publication.
  643.     Only three basic types: integer, real and boolean.  Arrays had lower
  644. bounds.  Dynamic arrays.  Strong typing.  Data hiding with 'own' variables. 
  645. No user-defined types.
  646.     ALGOL 60 was the first block-structured language, with nested
  647. procedures and blocks, nested syntax, compound statement with begin-end. 
  648. Keywords.  Conditional expression.  Introduced :=, if-then-else, very
  649. general 'for' loops.Switch declaration (an array of statement labels)
  650. generalizing FORTRAN's computed goto. Procedures were recursive, and
  651. parameters were pass-by-value and pass-by-name.
  652. "Report on the Algorithmic Language ALGOL 60", Peter Naur ed, CACM
  653. 3(5):299-314 (May 1960).
  654.  
  655. ALGOL 60 Modified - "A Supplement to the ALGOL 60 Revised Report", R.M.
  656. DeMorgan et al, Computer J 19(4):364 and SIGPLAN Notices 12(1) 1977.  
  657. Erratum in Computer J 21(3):282 (Aug 1978) applies to both.
  658.  
  659. ALGOL 60 Revised - "Revised Report on the Algorithmic Language ALGOL 60",
  660. Peter Naur ed, CACM 6(1):1-17 (Jan 1963).
  661.  
  662. ALGOL 68 - The communication and efficient execution of algorithms. 
  663. Adriaan van Wijngaarden et al.  By contrast with ALGOL 60, ALGOL 68 was
  664. large and complex, and posed difficulties for both implementors and users.
  665.     Structural equivalence.  Automatic type conversion.  Flexible arrays. 
  666. No abstract data types.
  667.     if-then-elif-fi, for-from-by-to-while-do-od, integer case statement
  668. with 'out' clause, skip statement, generalized loops, goto.
  669.     Blocks, procedures and user-defined operators.  Procedure parameters. 
  670. No separate compilation.  Concurrent execution (cobegin/coend) and
  671. semaphores.  Generators heap and loc for dynamic allocation.
  672.  
  673. ALGOL 68 Revised - "Revised Report on the Algorithmic Language ALGOL 68,"
  674. A. Van Wijngaarden et al, Acta Informatica 5:1-236 (1975), also Springer
  675. 1976, and SIGPLAN Notices 12(5):1-70 (May 1977).
  676.  
  677. ALGOL 68C - Variant of ALGOL 68 developed at Cambridge U Computing Lab in
  678. the 70's.  Used to implementation language for the CHAOS OS for the CAP
  679. capability computer.
  680.  
  681. ALGOL 68RS - An extension of ALGOL 68 which supports function closures. 
  682. Royal Signals Research Establishment, Malvern UK.
  683.  
  684. ALGOL 68S - ALGOL 68 Subset.  "A Sublanguage of ALGOL 68", P.G. Hibbard,
  685. SIGPLAN Notices 12(5) (May 1977).  Shareware compiler from Charles Lindsey
  686. <chl@cs.man.ac.uk>, Version 2.3 for Sun3's under OS4.x (or potentially
  687. other machines supported by the Amsterdam Compiler Kit).
  688.  
  689. ALGOL C - Clive Feather, Cambridge U, ca. 1981.  Variant of ALGOL 60; added
  690. structures and exception handling.  Designed for beginning students.
  691.  
  692. ALGOL W - Derivative of ALGOL 60.  "A Contribution to the Development of
  693. Algol", N. Wirth, CACM 9(6):413-431 (June 1966).
  694.  
  695. ALGOL X - Generic term for the successor to ALGOL 60.  The three designs
  696. proposed were by Wirth, Seegmuller and van Wijngaarden.  Sammet 1969,
  697. p.194.
  698.  
  699. ALGY - Early language for symbolic math.  Sammet 1969, p.520.
  700.  
  701. ALJABR - An implementation of MACSYMA for the Mac.  Fort Pond Research.
  702. info: aljabr@fpr.com
  703.  
  704. ALLOY - Combines functional, object-oriented and logic programming ideas,
  705. suitable for massively parallel systems.  "The Design and Implementation of
  706. ALLOY, a Parallel Higher Level Programming Language", Thanasis Mitsolides
  707. <mitsolid@cs2.nyu.edu>, PhD Thesis NYU 1990.  Version: ALLOY 2.0
  708. ftp: cs.nyu.edu:pub/local/alloy.
  709.  
  710. ALM - Assembly Language for Multics.  Language on the GE645.  The hardest
  711. portions of the Multics kernel were written in ALM.
  712.  
  713. ALP - List-processing extension of Mercury Autocode.  "ALP, An Autocode
  714. List-Processing Language", D.C. Cooper et al, Computer J 5:28-31 (1962).
  715.  
  716. ALPAK - Subroutine package used by ALTRAN.  "The ALPAK System for
  717. Nonnumerical Algebra on a Digital Computer", W.S. Brown, Bell Sys Tech J
  718. 42:2081 (1963).  Sammet 1969, p.502.
  719.  
  720. Alphard - Pascal-like.  Introduced the notion of forms.  "Abstraction and
  721. Verification in Alphard: Defining and Specifying Iteration and Generators",
  722. Mary Shaw, CACM 20(8):553-563 (Aug 1977).
  723.  
  724. ALPS - 
  725.  
  726.   1. Richard V. Andree, U Oklahoma.  Early interpreted algebraic language
  727. for Bendix G15, said to have preceded and influenced development of BASIC.
  728.  
  729.   2. Parallel logic language.  "Synchronization and Scheduling in ALPS
  730. Objects", P. Vishnubhotia, Proc 8th Intl Conf Distrib Com Sys, IEEE 1988,
  731. pp.256-264.
  732.  
  733. ALTAC - An extended FORTRAN II for Philco 2000, built on TAC.  Sammet 1969,
  734. p.146.
  735.  
  736. ALTRAN - W.S. Brown, Bell Labs, ca. 1968.  A FORTRAN extension for rational
  737. algebra.  "The ALTRAN System for Rational Function Manipulation - A
  738. Survey", A.D. Hall, CACM 14(8):517-521 (Aug 1971).
  739.  
  740. Amber -
  741.  
  742.   1. Adds CSP-like concurrency to ML.  Similar to Galileo.  Concurrency,
  743. multiple inheritance, persistence.  Programs must be written in two type
  744. faces, roman and italics!  Both static and dynamic types.  "Amber", L.
  745. Cardelli, TR Bell Labs 1984.  Implementation for Mac.
  746.  
  747.   2. U Washington, late 80's.  An object-oriented distributed language
  748. based on a subset of C++.
  749.  
  750. AMBIT - Algebraic Manipulation by Identity Translation (also claimed:
  751. "Acronym May Be Ignored Totally").  C. Christensen, Massachusetts Computer
  752. Assocs, 1964.  An early pattern-matching language aimed at algebraic
  753. manipulation.  Sammet 1969, pp.454-457.
  754.  
  755. AMBIT/G - (G for graphs).  "An Example of the Manipulation of Directed
  756. Graphs in the AMBIT/G Programming Language", C. Christensen, in Interactive
  757. Systems for Experimental Applied Mathematics, M. Klerer et al, eds,
  758. Academic Press 1968, pp.423-435.
  759.  
  760. AMBIT/L - (L for lists).  List handling, allows pattern matching rules
  761. based on two-dimensional diagrams.  "An Introduction to AMBIT/L, A
  762. Diagrammatic Language for List Processing", Carlos Christensen, Proc 2nd
  763. ACM Symp Symb and Alg Manip (Mar 1971).
  764.  
  765. AMBIT/S - (S for strings). 
  766.  
  767. AMBUSH - Language for linear programming problems in a materials-
  768. processing/transportation network.  "AMBUSH - An Advanced Model Builder for
  769. Linear Programming", T.R. White et al, National Petroleum Refiners Assoc
  770. Comp Conf (Nov 1971).
  771.  
  772. AML - IBM, 1980's.  High-level language for industrial robots.  "AML: A
  773. Manufacturing Language", R.H. Taylor et al, Inst J Robot Res 1(3):19-43.
  774.  
  775. AML/E - AML Entry.  Simple version of AML, implemented on PC, with graphic
  776. display of the robot position.
  777.  
  778. AMP - Algebraic Manipulation Package.  Symbolic math, written in Modula-2,
  779. seen on CompuServe.
  780.  
  781. AMPL - "AMPL: Design, Implementation and Evaluation of a Multiprocessing
  782. Language", R. Dannenberg, CMU 1981.  "Loglan Implementation of the AMPL
  783. Message Passing System", J. Milewski SIGPLAN Notices 19(9):21-29 (Sept
  784. 1984).
  785.  
  786. AMPPL-II - Associative Memory Parallel Processing Language.  Early 70's.
  787.  
  788. AMTRAN - Automatic Mathematical TRANslation.  NASA Huntsville, 1966.  For
  789. IBM 1620, based on Culler-Fried System, requires special terminal. 
  790. "AMTRAN: An Interactive Computing System", J. Reinfelds, Proc FJCC 37:537-
  791. 542, AFIPS (Fall 1970).
  792.  
  793. ANCP - Early system on Datatron 200 series.  Listed in CACM 2(5):16 (May
  794. 1959).
  795.  
  796. ANDF - Architecture Neutral Distribution Format.  OSF's request for a
  797. universal intermediate language, allowing software to be developed and
  798. distributed in a single version, then installed on a variety of hardware. 
  799. "Architecture Neutral Distribution Format: A White Paper", Open Software
  800. Foundation, Nov 1990.  (See UNCOL).
  801.  
  802. Andorra-I - The OR parallelism of Aurora plus the AND parallelism of
  803. Parlog.  "Andorra-I: A Parallel Prolog System that Transparently Exploits
  804. both And- and Or-Parallelism", V.S Costa et al, SIGPLAN Notices 26(7):83-93
  805. (July 1991).
  806.  
  807. Andorra-Prolog - "Andorra-Prolog: An Integration of Prolog and Committed
  808. Choice Languages", S. Haridi et al, Intl Conf Fifth Gen Comp Sys 1988, ICOT
  809. 1988.
  810.  
  811. Animus - "Constraint-Based Animation: The Implementation of Temporal
  812. Constraints in the Animus System", R. Duisberg, PhD Thesis U Washington
  813. 1986.
  814.  
  815. Anna - ANNotated Ada.  ca. 1980.  Adds semantic assertions in the form of
  816. Ada comments.  "ANNA - A Language for Annotating Ada Programs", David
  817. Luckham et al, Springer 1987.
  818. ftp: anna.stanford.edu
  819.  
  820. ANSI C - Revision of C, adding function prototypes, structure passing and
  821. assignment, and a standard set of library functions.  ANSI X3.159-1989.
  822.  
  823. ANSI C++ - X3J16 committee.  (They're workin' on it.)
  824.  
  825. ANSI FORTH - Soon-to-be-adopted standard.
  826.  
  827. APAL - Array of Processor Assembly Language.  For the DAP parallel machine.
  828.  
  829. APAREL - A PArse REquest Language.  PL/I extension to provide BNF parsing
  830. routines, for IBM 360.  "APAREL: A Parse Request Language", R.W. Balzer et
  831. al, CACM 12(11) (Nov 1969).
  832.  
  833. APDL - Algorithmic Processor Description Language.  ALGOL-60-like language
  834. for describing computer design, for CDC G-21.  "The Description,
  835. Simulation, and Automatic Implementation of Digital Computer Processors",
  836. J.A. Darringer, Ph.D Thesis EE Dept, CMU May 1969.
  837.  
  838. APL - A Programming Language.  Ken Iverson Harvard U 1957-1960.  Designed
  839. originally as a notation for the concise expression of mathematical
  840. algorithms.  Went unnamed and unimplemented for many years.  Finally a
  841. subset APL\360 was implemented in 1964.  APL is an interactive
  842. array-oriented language with many innovative features, written using a non-
  843. standard character set.  It is dynamically typed with dynamic scope.  All
  844. operations are either dyadic infix or monadic prefix, and all expressions
  845. are evaluated from right to left.  The only control structure is branch. 
  846. APL introduced several functional forms but is not purely functional.  "A
  847. Programming Language", Kenneth E. Iverson, Wiley, 1962.  Versions: APL\360,
  848. APL SV, VS APL, Sharp APL, Sharp APL/PC, APL*PLUS, APL*PLUS/PC, APL*PLUS/PC
  849. II, MCM APL, Honeyapple, and DEC APL.
  850. (See Iverson's Language).
  851.  
  852. APL2 - IBM.  An APL extension with nested arrays.  "APL2 Programming:
  853. Language Reference", IBM Aug 1984.  Order No. SH20-9227-0.
  854.  
  855. APLGOL - H-P?  An APL with ALGOL-like control structure.
  856.  
  857. APPLE - Revision of APL for the Illiac IV.
  858.  
  859. Applesoft BASIC - Version of BASIC on Apple computers.
  860.  
  861. APPLOG - Unifies logic and functional programming.  "The APPLOG Language",
  862. S. Cohen in Logic Programming, deGroot et al eds, P-H 1986, pp.39-276.
  863.  
  864. APT - Automatically Programmed Tools.  For numerically controlled machine
  865. tools.  "APT Part Programming", McGraw-Hill.  Versions: APT II (IBM 704,
  866. 1958), APT III (IBM 7090, 1961).  Sammet 1969, p.605.
  867.  
  868. APX III - Early system on Datatron 200 series.  Listed in CACM 2(5):16 (May
  869. 1959).
  870.  
  871. AQL - Picture query language, extension of APL.  "AQL: A Relational
  872. Database Management System and Its Geographical Applications", F. Antonacci
  873. et al, in Database Techniques for Pictorial Applications, A. Blaser ed,
  874. pp.569-599.
  875.  
  876. Arctic - Real-time functional language, used for music synthesis.  "Arctic:
  877. A Functional Language for Real-Time Control", R.B. Dannenberg, Conf Record
  878. 1984 ACM Symp on LISP and Functional Prog, ACM.
  879.  
  880. ARES - Pictorial query language.  "A Query Manipulation System for Image
  881. Data Retrieval", T. Ichikawa et al, Proc IEEE Workshop Picture Data
  882. Description and Management, Aug 1980, pp.61-67.
  883.  
  884. Ariel - Array-oriented language for CDC 6400.  "Ariel Reference Manual", P.
  885. Devel, TR 22, CC UC Berkeley, Apr 1968.
  886.  
  887. Argus - LCS, MIT.  A successor to CLU.  Supports distributed programming
  888. through guardians (like monitors, but can be dynamically created) and
  889. atomic actions (indivisible activity).  cobegin/coend.  "Argus Reference
  890. Manual", B. Liskov et al., TR-400, MIT/LCS, 1987.  "Guardians and Actions:
  891. Linguistic Support for Robust, Distributed Programs", B. Liskov
  892. <liskov@lcs.mit.edu> et al, TOPLAS 5(3):381-404 (1983).
  893.  
  894. Ariel - An array-oriented language.  "A New Survey of the Ariel Programming
  895. Language", P. Deuel, TR 4, Ariel Consortium, UC Berkeley (June 1972).
  896.  
  897. ARITH-MATIC - Alternate name for A-3.
  898.  
  899. ART - Real-time functional language, timestamps each data value when it was
  900. created.  "Applicative Real-Time Programming", M. Broy, PROC IFIP 1983, N-
  901. H.
  902.  
  903. ARTSPEAK - Early simple language for plotter graphics.  "The Art of
  904. Programming, ARTSPEAK", Henry Mullish, Courant Inst (Nov 1974).
  905.  
  906. ASF - An algebraic specification language.  "Algebraic Specification", J.A.
  907. Bergstra et al, A-W 1989.
  908.  
  909. ASHMEDAI - Symbolic math package.  Never marketed.  Allegedly had an
  910. influence on SMP.
  911.  
  912. ASIS - Ada Semanic Interface Specification.  An intermediate representation
  913. for Ada.  (See Diana.)
  914. info: sblake@telesoft.com
  915.  
  916. ASL - Algebraic Specification Language.  "Structured Algebraic
  917. Specifications: A Kernel Language", M. Wirsing, Theor Comput Sci 42,
  918. pp.123-249, Elsevier 1986.
  919.  
  920. ASM - Assembly language on CP/M machines (and a lot of others).
  921.  
  922. ASN-1 - Abstract Syntax Notation.  Data description language used by the
  923. Natl Center for Biotechnology Information.
  924.  
  925.