Reference material

This site has made extensive use of many, many references, and there is no easy way to make a useful starting list for those who would like to carry out their own research. I have divided out the material into three sections:

  1. Literature that was specific to a given language (Obviously the best place to get information on the language - but hard to find and thin on the ground)
  2. Literature that was contemporary to the language's inception and use. (Unquestionably, the best place to look is in the anciently contemporary material, as that is the best way of "seeing how they would have thought".)
  3. Literature that treats the language historically (This material helps to give an overview, and perhaps more importantly can draw on oral and documentary history as well)

Specific material

THe best place to look for material on a given language is in the literature - Chiefly the ACM periodicals, but also the Computer Journal and Computer Bulletin from the UK, and the IEEE journals and conference proceedings. Specific fields such as graphics or simulation have their own SIGs at ACM and their own international professional bodies. I have included short extracts in the encyclopaedia where possible.

Contemporary surveys

A good place to start is in the various surveys in the literature:

  • Andrews, G.R. and F.B. Schneider, "Concepts and Notations for ConcurrentProgramming", ACM Comp Surveys 15(1):1-43 (Mar 1983).
  • Bal, H.E., "Programming Languages for Distributed Systems", ACM CompSurveys 21(3):261-322 (Sep 1989).
  • Blume, Christian, "Programming Languages for Industrial Robots", Springer1986.
  • Bobrow, D.G. & Raphael, "New Programming Languages for Artificial-Intelligence Research", ACM Comp Surveys 6:155 (Nov 1974).
  • Abowd, Gregory et al User Interface Languages: a Survey of Existing Methods Programming Research Group Oxford ­TR­ 5­89 1989
  • Farber, David J. A survey of the systematic use of macros in systems building Proceedings of the SIGPLAN symposium on Languages for system implementation 1971, Lafayette, Indiana, United States; October, 1971 pp 29 - 36
  • Hils, D. D. Visual languages and computing survey: data flow visual programming languages, J Visual Languages and Computing, 3(1) (1992) pp 69-101. 1991
  • Rosen, Saul A historical Survey Rosen, Saul (ed) Programming Systems & Languages. McGraw Hill, New York, 1967. 1967
  • Sammet, Jean E., "Roster of Programming Languages" - this was a series of rosters over a decade, the only record of coming and going of languages
    - "Roster of Programming Languages 1967" Computers & Automation 16(6):80-82 (June 1967)
    - "Roster of Programming Languages 1968" Computers & Automation 17(6):120-123 (June 1968)
    - "Roster of Programming Languages 1969" Computers & Automation 18(7):153-158 (June 1969)
    - "Roster of Programming Languages 1970" Computers & Automation 19(6B):6-11 (Nov 30, 1970)
    - "Roster of Programming Languages 1971" Computers & Automation 20(6B):6-13 (June 30, 1971)
    - "Roster of Programming Languages 1972" Computers & Automation 21(6B) (Aug 30, 1972)
    - "Roster of Programming Languages for 1973" Computing Reviews 15(4): 147-160 (April 1974)
    - "Roster of Programming Languages for 1974-1975" CACM 19(12):655-669 (Dec 1976)
    - "Roster of Programming Languages 1975-76" CACM 19(12) (Dec 1976)
    - "Roster of programming languages for 1976-77" SIGPLAN Notices 13(11):56 (Nov 1978).
  • Sammet, Jean E. Brief survey of languages used for systems implementation Proceedings of the SIGPLAN symposium on Languages for system implementation 1971, Lafayette, Indiana, United States; October, 1971 1971
  • Sammet, Jean E. Survey of formula manipulation [ACM] CACM 9(08) August 1966 1966 pp555-569
  • Sammet, Jean E. "Formula Manipulation by Computer," Advances in Computers, Vol. 8, McGraw-Hill, 1966.
  • Sammet, Jean E., "Programming languages: history and future" in CACM 15(06) (June 1972)
  • Sammet, Jean E., "An overview of programming languages for special application areas" in [AFIPS] Proceedings of the 1972 Spring Joint Computer Conference SJCC 40
  • Sammet, Jean E. "An Annotated Descriptor Based Bibliography on the Use of Computers for Non-Numerical Mathematics" in ACM Computing Reviews 7(05) September-October 1966
  • Sammet, Jean E. "Revised Annotated Descriptor Based Bibliography for the Use of Computers for Non-Numerical Mathematics" in Bobrow, D. G. (ed) "Symbol Manipulation Languages and Techniques", Proceedings of the IFIP Working Conference on Symbol Manipulation Languages. North-Holland Publishing Co., Amsterdam, 1968
  • Leavenworth, Burt M.; Sammet, Jean E. "An overview of nonprocedural languages" Proceedings of the ACM SIGPLAN symposium on Very high level languages, March 28-29, 1974, Santa Monica, California, United States pp1-12
  • Sammet, Jean E. "History of IBM's Technical Contributions to High Level Programming Languages" IBM Journal of Research and Development, 25(5), September 1981 25th anniversary issue pp520ff
  • Shapiro, E., "The Family of Concurrent Logic Programming Languages", ACMComp Surveys, 21(3):413-510 (Sep 1989).
  • Smith, Lyle B. A Survey of Interactive Graphical Systems for Mathematics ACM Computing Surveys 2(4) Dec 1970 pp 261 - 301 1970
  • W. van der Poel, Machine Oriented Higher Level Languages, N-H 1974.
  • Weik, Martin H. Surveys of Domestic Electronic Digital Computing Systems - although these are primarily hardware lists, they include the software systems delivered with, and purchasable separately from the installations.
    - "A Fourth Survey of Domestic Electronic Digital Computing Systems Report" No. 1227, January 1964 Ballistic Research Laboratories, Aberdeen Proving Ground, Maryland 1964
    - "A Third Survey of Domestic Electronic Digital Computing Systems Report" No. 1115, March 1961 Ballistic Research Laboratories, Aberdeen Proving Ground, Maryland 1961

Contemporary Journals

  • Computer Languages ISSN 0096-0551
  • IEEE Transactions on Software Engineering
  • Software: Practice and Experience
  • ACM SIGPLAN Notices ISBN 0-89791-074-5
  • ACM TOPLAS (Transactions on Programming Languages and Systems)
  • ACM CACM
  • ACM JACM
  • ACM SIGAPL APL Quote Quad
  • ACM SIGAda Ada Letters
  • ACM SIGFORTH Newsletter
  • ACM SIGPLAN Fortran Forum
  • ACM SIGPLAN Lisp Pointers
  • ACM SIGPLAN Notices
  • ACM SIGPLAN OOPS Messenger
  • ACM SIGSIM Simulation Digest
  • ACM SIGSOFT Software Engineering Notes
  • ACM Computer Surveys (CSURV) - these have excellent field review essays
  • Mathematical Tables and Other Aids to COmputations
  • The Computer Journal
  • The Computer Bulletin
  • The Annual Review in Automatic Programming (only the first 7 have detailed material for historical language study - they actually contain reprints of language manuals. WIth the death of the founder editor Goodman, it became more general in its approach)
  • Advances in Computing - this was an annual featuring some excellent review/surveys of the field

Contemporary Conferences (repeating)

  • ACM OOPSLA
  • ACM POPL
  • ACM Annual conference
  • ACM LFP (Conference on Lisp and Functional Programming)
  • IFIP Information Processing Conferences
  • Joint Computing Conferences (began as Eastern/Western, then became Spring and Fall)
  • The Armour Research Foundation Computer Applications COnferences
  • The British Computer Society Annual National Conference (These have an nice additional feature - they were photographed, so you can see the legends at work)
  • The NATO-sponsored scientific conferences (programming, software engineering, simulation, photo recognition)

Contemporary Conferences (Singular)

  • Steel, T.B. Jr. (ed) Formal Language Description Languages for Computer Programming Amsterdam: North-Holland Publishing, 1966
  • Bobrow, Daniel G. (ed) "Symbol Manipulation Languages and Techniques" Amsterdam: North Holland Publishing Company, 1968
  • Lindenmayer, Aristid and Grzegorz Rozenberg (eds) Automata, Languages, Development Amsterdam: North-Holland, 1976.
  • Leslie, W. H. P. (Ed). Numerical Control Programming Languages North-Holland Pub. Co 1970.
  • Gabor T Herman and Grzegorz Rozenberg Developmental Systems and Languages Amsterdam: North-Holland, 1975.
  • Proceedings of the SIGPLAN symposium on Languages for system implementation 1971, Lafayette, Indiana, United States; October, 1971 1971

Contemporary Texts

  • Carr, JW Computer Programming in Automation and Control (Ramo and Wooldrige eds) (A spectacular resource for the very early systems)
  • Higman, Brian "A Comparative Study of Programming Languages" Macdonald Computer Monographs 2. Macdonald, London 1967 and London McDOnald 1975 (Both editions are of interest, as a great deal useful information was dropped for the book to establish currency)
  • Hopcroft, John E. and Ullman, Jeffrey. D "Formal Languages and Their Relation to Autmata" USA: Addison-Wesley, 1969
  • Horowitz, Ellis "Fundamentals of Programming Languages"
  • Horowitz, Ellis "Programming Languages, A Grand Tour", Springer 1978
  • Laurie, Edward J. "Computers and Computer Languages" Cincinnati, Ohio: Southwestern Publishing Co. 1966.
  • Maurer, Ward Douglas "Programming: An Introduction to Computer Languages and Techniques" San Francisco: Holden-Day, 1969.
  • Maurer, Ward Douglas "Programming: An Introduction to Computer Languages and Techniques" Holden-Day, Inc. San Francisco, CA 1968.
  • Rice John K. and Rice John R. "Introduction to Computer Science: Problems, Algorithms, Languages, Information and Computers" USA: Holt, Rinehart & Winston, 1969
  • Thatcher, Charles and Capato, Anthony "Digital Computer Programming: Logic and Language" Reading, Massachusetts: Addison-Wesley, 1967
  • Wegner, Peter "Programming languages, information structures, and machine organization" McGraw-Hill Book Company N.Y., (1968).
  • Backhouse, Roland "Syntax of Programming Languages: Theory and Practice" Englewood Cliffs NJ: Prentice-Hall, 1979
  • Barron, D.W. "An Introduction to the Study of Programming Languages" Cambridge Cambridge Univ Press 1977
  • Breuer, Melvin "Digital System Design Automation: Languages, Simulation & Data Base" Woodland Hills CA Computer Science Press 1975
  • Elson, Mark "Concepts of Programming Languages" Chicago: Science Reseach Associates, Inc. 1973.
  • Pratt, Terrence W. "Programming Languages: Design and Implementation" Englewood Cliffs, New Jersey: Prentice-Hall, Inc. , 1975.
  • Tucker, Allen B., Jr. "Programming Languages" (McGraw-Hill Computer Science Ser.) Burr Ridge, IL, U.S.A.: McGraw-Hill Higher Education, 1977
  • Katzan, Harry "Introduction to Programming Languages" Philadelphia: Auerbach Publishers, 1973.
  • Peterson, W. Wesley "Introduction to Programming Languages" U.S.A: Prentice Hall, 1974.
  • Nicholls, J. E. "The Structure and Design of Programming Languages" Addison-Wesley, 1975.
  • Sanderson, Peter C. "Computer Languages: Practical Guide to the Chief Programming Languages" NY: Philosophical Library, 1970.
  • Heaps, H. S. Introduction to Computer Languages Prentice-Hall 1972

    Historical

    Historical Texts and Conferences

    There are four essential texts on HOPL: the three books are available all the time from places like ABE or Amazon. Lurk around and wait a while before buying one - the prices they fetch vary from the tens to the hundreds of $$s.

  • Sammet, Jean E. 1969. Programming Languages: History and Fundamentals. Englewood Cliffs, N.J.: Prentice-Hall
    This is the magnum opus for HOPL. Sammet did the world an enormous favour when she got leave from IBM to prepare this work. in 1968: this is the greatest single resource for gaining an insight into the first 20 years of language creation. This is the book to begin with - there is no greater resource for the student of programming history. If you buy one book, buy this one!
  • Wexelblat, R. L. 1981. History of Programming Languages. New York, London: Academic Press.
    This book contains the proceedings of the first SIGPLAN HOPL conference. It is an exciting read, as it really captures the spirit of the early milieu.
    The languages covered were: ALGOL, APL, APT, BASIC, COBOL, FORTRAN, GPSS, JOSS, JOVIAL, LISP, PL/I, SIMULA, SNOBOL.
  • Thomas J. Bergin and Richard G. Gibson, "History of Programming Languages" New York, ACM Press, 1996
    These are the proceedings of the second SIGPLAN HOPL conference held in 1993. THe contents are here.
    The languages covered were: Ada, ALGOL 68, C, C++, CLU, Discrete Simulation Languages, Concurrent Pascal, FORMAC, Forth, Icon, Lisp, Pascal, Prolog, Smalltalk.
  • Special Issue on Programming Languages IEEE Annals of the History of Computing, Volume 16, Number 4 (Winter 1994), pages 4-59), which was also edited by Bergin.
    It covers REXX, Simula, Dataflow languages. Other issues cover FORTRAN and COBOL. Anyone who is interested in the area owes it to themselves to read every article in every issue, regardless.

    Seminal articles

  • Knuth, Donald Ervin, and Luis Trabb Pardo "The early development of programming languages" pp419-96 in J. Belzer, A. G. Holzman, A. Kent, (eds) Encyclopedia of Computer Science and Technology, Marcel Dekker, Inc., New York. 1979
  • McKeeman, W.M., J.J. Horning and D.B. Wortman "A Compiler Generator (An introduction to a practical system for generating mechanical translators for programming languages)" Prentice-Hall 1970. The last chapter in this anthology is an extensive review of the history of Algorithmic languages
  • Rosen, Saul (ed) "Programming Systems and Languages" McGraw Hill & Co. NY 1967. The first two chapters are excellent surveys, the rest are significant articles that were then current.

    Significant articles

  • Hudak, Paul, "Conception, Evolution and Application of FunctionalProgramming Languages", ACM Comp Surveys 21(3):359-411 (Sep 1989).
  • Metropolis, N. et al, "A History of Computing in the Twentieth Century. Proceedings of the International Research Conference on the History of Computing", A-P 1986. 1986 ISBN 0-12-491650-3.