In 1978, the ACM Special Interest Group on Programming Languages (SIGPLAN) sponsored a Conference on the History of Programming Languages (HOPL). Papers were prepared and presentations made at a Conference in Los Angeles, California. The Program Committee selected thirteen languages that met the criteria of having been in use for at least 10 years, had significant influence, and were still in use. The languages were: ALGOL, APL, APT, BASIC, COBOL, FORTRAN,GPSS, JOSS, JOVIAL, LISP, PL/I,SIMULA, and SNOBOL. The results of that conference were recorded in History of Programming Languages, edited by Richard L. Wexelblat [New York: Academic Press, 19811.
The Second ACM SIGPLAN History of Programming Languages Conference (HOPL-II) took place on April 20-23, 1993 in Cambridge, Massachusetts. The papers prepared for that conference form the basis of this present volume, along with the transcripts of the presentations, a keynote address "Language Design as Design" by Fred Brooks, a discussion of the period between HOPL and HOPL-II by Jean Sarnmet, and a talk on "What Makes History" by Mike Mahoney (the conference historian). There was also a banquet, hosted by Bernie Galler, and a closing panel of six language developers, chaired by Mike Mahoney. Unfortunately due to page limitations, the transcripts of the banquet, Forum, and the closing panel are not included in this volume. It is our hope that they can be published elsewhere. The Conference was preceeded by a Forum on the History of Computing, chaired by Bob Rosin, and the papers presented at the Forum complete this volume.
The Program Committee for HOPL-II decided to have both invited and submitted papers, and we believe that the range of languages and the quality of presentation will make this volume a classic in the history of programming literature. The languages at HOPL-II were: Ada, ALGOL 68, C, C++, CLU, Discrete Simulation Languages, FORMAC, Forth, Icon, Lisp, Monitors and Concurrent Pascal, Pascal, Prolog, and Smalltalk.
The majority of this volume is the material on the individual languages, with a chapter devoted to each language, as follows:
•a paper by each author;
•a transcript of the author's presentation;
•a transcript of a discussant's remarks (not all languages);
•a transcript of the question and answer session;
•biographies of the authors.
It should be noted that some authors' presentations closely followed their papers, and since the book is oversized, the transcripts of these presentations were omitted, with the kind permission of the authors.
All papers were published as preprints in ACM SIGPLAN Notices, Vol. 28, No. 3 (March 1993). The papers are reprinted here with the permission of ACM and of the authors. In some cases changes have been made by the authors to correct typographical or factual errors. In some cases additional material has been added, with an appropriate notation by an author or editor.
We are indeed pleased to provide this introductory material for this book. The book is the culmination of work on a 1993 conference (HOPL-II) whose development started in 1990; HOPL-II in turn was a follow-on to the first HOPL, held 15 years earlier (1978).
First HOPL Conference
In order to put this conference in perspective, it is useful to provide some information about the first conference of this type that was held. In 1978 ACM SIGPLAN sponsored a History of Programming Languages Conference (HOPL) with Jean E. Sammet as General Chair and Program Chair, and John A. N. Lee as the Administrative Chair. That conference was composed of invited papers for the 13 languages that met the following criteria:
(1) were created and in use by 1967;
(2) remain in use in 1977; and
(3) have had considerable influence on the field of computing.
[History of Programming Languages, Richard L. Wexelblat, ed., Academic Press, ACM Monograph Series, 1981 ), page xviii.]
(The cutoff date of 1967 was chosen to provide perspective from a distance of at least ten years.)
The languages chosen by the Program Committee as meeting those criteria were: ALGOL, APL, APT, BASIC, COBOL, FORTRAN, GPSS, JOSS, JOVIAL, LISP, PL/I, SIMULA, and SNOBOL. A key person involved in the early development of each of those languages was invited to write a paper according to very strict guidelines and with numerous rewrites expected. That conference was deemed a great success by its attendees. The final proceedings, edited by R. L. Wexelblat, is now the definitive work on the early history of those particular languages.
Several people asked at that time why a conference was held rather than simply having people prepare the papers and publish them in a book. We felt initially--and this was confirmed by the actual occurrence--that the audience discussion after each presentation would provide greater insight into the history of the events and decisions that led to the definition of the languages in their early forms. Some of the "cross talk" publicly and privately among the attendees--many of whom participated in the creation of several languages--provided significant insights into the early developments.
Second HOPL Conference
The first HOPL conference was intended to be only the beginning, and not the end of any consideration of programming language history. As a result, not long after the end of that conference, we began thinking about a second HOPL Conference, with the intent of building on what we learned from the first conference, and expanding its scope and coverage. Due to the pressure of other activities, it took many years before we were able to focus on a second conference. During that time period, a cadre of our colleagues was developed that also strongly promulgated the need to study the history of computing. In fact, the establishment of the journal Annals of the History of Computing, to be published by AFIPS, was announced at the end of the first HOPL Conference with Bernard A. Galler as Editor-in-Chief. Since 1987, John A. N. Lee has been the Editor-in-Chief, and in 1992 the IEEE Computer Society became the publisher. In January 1996, Michael R. Williams took over as the third Annals Editor-in-Chief. ACM has also sponsored several other history conferences, covering the fields of scientific comptaing, medical informatics, and personal workstations.
Finally, we developed a proposal in 1990, and the ACM SIGPLAN Executive Committee authorized us to proceed with this Second History of Programming Languages Conference (HOPL-II). We then called back to voluntary duty several members of the original conference-organizing committees and many of them were happy to join us in this new endeavor. In addition, we made a conscious effort to bring in newer/younger people who also have an interest in examining the past. But organizing a history conference is by no means as simple as organizing a technical conference dealing with current or recent research in which all the papers are to be contributed and for which there is tremendous competition to participate. This is primarily because most professionals in the computer field prefer to concentrate on current and future work rather than looking backward to what they have accomplished. A detailed description of how the final program was created is given in the next section of this introduction.
The study of various aspects of computing history is not merely an intellectual exercise; it shows us how we reached our current condition, indicates effective approaches as well as past errors, and provides perspective and insight for the future, and a surer sense of how to get there.
The conference itself was held April 20 to 23, 1993, in Cambridge, Massachusetts with preprints issued as the March 1993 issue of ACM SIGPLAN Notices (Volume 28, Number 3). This book contains an enormous amount of material not included in the preprints, including some revised papers as well as transcripts of the talks, the Forum papers, the keynote address, and other material that provide a record of what occurred during the conference. We regret that space limitations prevented the inclusion of the transcripts of the banquet, the closing panel and the Forum. We hope that they can be published elsewhere.