HOPL
Encyclopedia
History of Programming Languages (HOPL) is an infrequent ACM
SIGPLAN
conference. Past conferences were held in 1978, 1993, and 2007.
. Jean E. Sammet
was both the General and Program Committee Chair. John A. N. Lee was the Administrative Chair. Richard L. Wexelblat was the Proceedings Chair. From Jean Sammet's introduction: The HOPL Conference "is intended to consider the technical factors which influenced the development of certain selected programming languages." The languages and presentations in the first HOPL were by invitation of the program committee. The invited languages must have been created and in use by 1967. They also must have remained in use in 1977. Finally, they must have had considerable influence on the field of computing.
The papers and presentations went through extensive review by the program committee (and revisions by the authors), far beyond the norm for conferences and commensurate with some of the best journals in the field. The languages (and speakers) included in HOPL-I were:
Preprints of the proceedings were published in "SIGPLAN Notices", volume 13, number 8, August 1978. The final proceedings, including transcripts of question and answer sessions, was published as a book in the ACM Monograph Series: "History of Programming Languages", edited by Richard L. Wexelblat. Academic press, 1981.
. John A. N. Lee was the Conference Chair and Jean E. Sammet
was the Program Chair. In contrast to HOPL I, HOPL II included both invited papers and papers submitted in response to an open call. The scope also expanded. Where HOPL I had only papers on the early history of languages, HOPL II solicited contributions on:
The submitted and invited languages must have been documented by 1982. They also must have been in use or taught by 1985.
As in HOPL I, there was a rigorous multi-stage review and revision process. The selected papers and authors were:
Preprints of the proceedings were published in "SIGPLAN Notices", volume 28, number 3, March 1993. The final proceedings, including copies of the presentations and transcripts of question and answer sessions, was published as the ACM Press book http://portal.acm.org/toc.cfm?id=154766 : "History of Programming Languages", edited by Thomas J. Bergin and Richard G. Gibson. Addison Wesley, 1996.
. Brent Hailpern
and Barbara G. Ryder were the Conference co-Chairs. HOPL III had an open call for participation and asked for papers on either the early history or the evolution of programming languages. The languages must have come into existence before 1996 and been widely used since 1998, either commercially or within a specific domain. Research languages that had a great influence on subsequent programming languages were also candidates for submission.
As with HOPL I and HOPL II, the papers were managed with a multiple stage review/revision process.
Accepted Papers for HOPL III were:
The HOPL III programming languages can be broadly categorized into five classes (or paradigms
): Object-Oriented
(Modula-2
, Oberon, C++
, Self, Emerald, and BETA
), Functional
(Haskell
), Scripting
(AppleScript
, Lua), Reactive (Erlang, StateCharts), and Parallel
(ZPL, High Performance Fortran
). Each HOPL III paper describes the perspective of the creators of the language.
Association for Computing Machinery
The Association for Computing Machinery is a learned society for computing. It was founded in 1947 as the world's first scientific and educational computing society. Its membership is more than 92,000 as of 2009...
SIGPLAN
SIGPLAN
SIGPLAN is the Association for Computing Machinery's Special Interest Group on programming languages.- Conferences :* Principles of Programming Languages * Programming Language Design and Implementation...
conference. Past conferences were held in 1978, 1993, and 2007.
HOPL I
HOPL I was held June 1–3, 1978 in Los Angeles, CaliforniaLos Angeles, California
Los Angeles , with a population at the 2010 United States Census of 3,792,621, is the most populous city in California, USA and the second most populous in the United States, after New York City. It has an area of , and is located in Southern California...
. Jean E. Sammet
Jean E. Sammet
Jean E. Sammet is an American computer scientist who developed the FORMAC programming language in 1962.She received her B.A. in Math from Mount Holyoke College in 1948 and her M.A. in Math from University of Illinois at Urbana-Champaign in 1949...
was both the General and Program Committee Chair. John A. N. Lee was the Administrative Chair. Richard L. Wexelblat was the Proceedings Chair. From Jean Sammet's introduction: The HOPL Conference "is intended to consider the technical factors which influenced the development of certain selected programming languages." The languages and presentations in the first HOPL were by invitation of the program committee. The invited languages must have been created and in use by 1967. They also must have remained in use in 1977. Finally, they must have had considerable influence on the field of computing.
The papers and presentations went through extensive review by the program committee (and revisions by the authors), far beyond the norm for conferences and commensurate with some of the best journals in the field. The languages (and speakers) included in HOPL-I were:
- ALGOL 60ALGOL 60ALGOL 60 is a member of the ALGOL family of computer programming languages. It gave rise to many other programming languages, including BCPL, B, Pascal, Simula, C, and many others. ALGOL 58 introduced code blocks and the begin and end pairs for delimiting them...
- Alan J. Perlis and Peter NaurPeter NaurPeter Naur is a Danish pioneer in computer science and Turing award winner. His last name is the N in the BNF notation , used in the description of the syntax for most programming languages... - APLAPL programming languageAPL is an interactive array-oriented language and integrated development environment, which is available from a number of commercial and noncommercial vendors and for most computer platforms. It is based on a mathematical notation developed by Kenneth E...
- Adin D. FalkoffAdin FalkoffAdin D. Falkoff Born in New Jersey, a researcher and manager at IBM Research since the 1950s for over forty years before retiring. He collaborated with Ken Iverson from 1960 to 1980 on the design, development, and usage of the APL programming language and its interactive environment...
and Kenneth E. IversonKenneth E. IversonKenneth Eugene Iverson was a Canadian computer scientist noted for the development of the APL programming language in 1962. He was honored with the Turing Award in 1979 for his contributions to mathematical notation and programming language theory... - APTAPT programming languageAPT or Automatically Programmed Tool is a high-level computer programming language used to generate instructions for numerically controlled machine tools. Douglas T. Ross is considered by many to be the father of APT. APT is a language and system that makes numerically controlled manufacturing...
- Douglas T. RossDouglas T. RossDouglas Taylor Ross was an American computer scientist pioneer, and Chairman of SofTech, Inc.. He is most famous for originating the term CAD for computer-aided design, and is consider to be the father of Automatically Programmed Tools a language to drive numerically controlled manufacturing.-... - BASICBASICBASIC is a family of general-purpose, high-level programming languages whose design philosophy emphasizes ease of use - the name is an acronym from Beginner's All-purpose Symbolic Instruction Code....
- Thomas E. Kurtz - COBOLCOBOLCOBOL is one of the oldest programming languages. Its name is an acronym for COmmon Business-Oriented Language, defining its primary domain in business, finance, and administrative systems for companies and governments....
- Jean E. SammetJean E. SammetJean E. Sammet is an American computer scientist who developed the FORMAC programming language in 1962.She received her B.A. in Math from Mount Holyoke College in 1948 and her M.A. in Math from University of Illinois at Urbana-Champaign in 1949... - FORTRANFortranFortran is a general-purpose, procedural, imperative programming language that is especially suited to numeric computation and scientific computing...
- John BackusJohn BackusJohn Warner Backus was an American computer scientist. He directed the team that invented the first widely used high-level programming language and was the inventor of the Backus-Naur form , the almost universally used notation to define formal language syntax.He also did research in... - GPSSGPSSGeneral Purpose Simulation System is a discrete time simulation language, where a simulation clock advances in discrete steps...
- Geoffrey Gordon - JOSSJOSSJOSS was one of the very first interactive, time sharing programming languages.JOSS I, developed by J. Clifford Shaw at RAND was first implemented, in beta form, on the JOHNNIAC computer in May 1963...
- Charles L. Baker - JOVIALJOVIALJOVIAL is a high-order computer programming language similar to ALGOL, but specialized for the development of embedded systems .JOVIAL is an acronym for "Jules Own Version of the International...
- Jules I. Schwartz - LISPLisp programming languageLisp is a family of computer programming languages with a long history and a distinctive, fully parenthesized syntax. Originally specified in 1958, Lisp is the second-oldest high-level programming language in widespread use today; only Fortran is older...
- John McCarthyJohn McCarthy (computer scientist)John McCarthy was an American computer scientist and cognitive scientist. He coined the term "artificial intelligence" , invented the Lisp programming language and was highly influential in the early development of AI.McCarthy also influenced other areas of computing such as time sharing systems... - PL/IPL/IPL/I is a procedural, imperative computer programming language designed for scientific, engineering, business and systems programming applications...
- George Radin - SIMULASimulaSimula is a name for two programming languages, Simula I and Simula 67, developed in the 1960s at the Norwegian Computing Center in Oslo, by Ole-Johan Dahl and Kristen Nygaard...
- Kristen NygaardKristen NygaardKristen Nygaard was a Norwegian computer scientist, programming language pioneer and politician. He was born in Oslo and died of a heart attack in 2002.-Object-oriented programming:... - SNOBOLSNOBOLSNOBOL is a generic name for the computer programming languages developed between 1962 and 1967 at AT&T Bell Laboratories by David J. Farber, Ralph E. Griswold and Ivan P. Polonsky, culminating in SNOBOL4...
- Ralph E. Griswold
Preprints of the proceedings were published in "SIGPLAN Notices", volume 13, number 8, August 1978. The final proceedings, including transcripts of question and answer sessions, was published as a book in the ACM Monograph Series: "History of Programming Languages", edited by Richard L. Wexelblat. Academic press, 1981.
HOPL II
HOPL II was held April 20–23, 1993 in Cambridge, MassachusettsCambridge, Massachusetts
Cambridge is a city in Middlesex County, Massachusetts, United States, in the Greater Boston area. It was named in honor of the University of Cambridge in England, an important center of the Puritan theology embraced by the town's founders. Cambridge is home to two of the world's most prominent...
. John A. N. Lee was the Conference Chair and Jean E. Sammet
Jean E. Sammet
Jean E. Sammet is an American computer scientist who developed the FORMAC programming language in 1962.She received her B.A. in Math from Mount Holyoke College in 1948 and her M.A. in Math from University of Illinois at Urbana-Champaign in 1949...
was the Program Chair. In contrast to HOPL I, HOPL II included both invited papers and papers submitted in response to an open call. The scope also expanded. Where HOPL I had only papers on the early history of languages, HOPL II solicited contributions on:
- early history of specific languages,
- evolution of a language,
- history of language features and concepts, and
- classes of languages for application-oriented languages and paradigm-oriented languages.
The submitted and invited languages must have been documented by 1982. They also must have been in use or taught by 1985.
As in HOPL I, there was a rigorous multi-stage review and revision process. The selected papers and authors were:
- MonitorsMonitor (synchronization)In concurrent programming, a monitor is an object or module intended to be used safely by more than one thread. The defining characteristic of a monitor is that its methods are executed with mutual exclusion. That is, at each point in time, at most one thread may be executing any of its methods...
and Concurrent PascalConcurrent PascalConcurrent Pascal was designed by Per Brinch Hansen for writing concurrent computing programs such asoperating systems and real-time monitoring systems on shared memorycomputers....
- Per Brinch HansenPer Brinch HansenPer Brinch Hansen was a Danish-American computer scientist known for concurrent programming theory.-Biography:He was born in Frederiksberg, in Copenhagen, Denmark.... - PrologPrologProlog is a general purpose logic programming language associated with artificial intelligence and computational linguistics.Prolog has its roots in first-order logic, a formal logic, and unlike many other programming languages, Prolog is declarative: the program logic is expressed in terms of...
- Alain ColmerauerAlain ColmerauerAlain Colmerauer is a French computer scientist.After completing his Ph.D. at the University of Grenoble, he spent 1967–1970 as Assistant Professor at the University of Montreal, where he created Q-Systems, one of the earliest linguistic formalisms used in the development of the TAUM-METEO machine...
and Phillipe Roussel - IconIcon programming languageIcon is a very high-level programming language featuring goal directed execution and many facilities for managing strings and textual patterns. It is related to SNOBOL and SL5, string processing languages...
- Ralph E. Griswold and Madge T. Griswold - SmalltalkSmalltalkSmalltalk is an object-oriented, dynamically typed, reflective programming language. Smalltalk was created as the language to underpin the "new world" of computing exemplified by "human–computer symbiosis." It was designed and created in part for educational use, more so for constructionist...
- Alan C. KayAlan KayAlan Curtis Kay is an American computer scientist, known for his early pioneering work on object-oriented programming and windowing graphical user interface design, and for coining the phrase, "The best way to predict the future is to invent it."He is the president of the Viewpoints Research... - ALGOL 68ALGOL 68ALGOL 68 isan imperative computerprogramming language that was conceived as a successor to theALGOL 60 programming language, designed with the goal of a...
- C. H. Lindsey - CLUCLU programming languageCLU is a programming language created at MIT by Barbara Liskov and her students between 1974 and 1975. It was notable for its use of constructors for abstract data types that included the code that operated on them, a key step in the direction of object-oriented programming...
- Barbara LiskovBarbara LiskovBarbara Liskov is a computer scientist. She is currently the Ford Professor of Engineering in the MIT School of Engineering's Electrical Engineering and Computer Science department and an Institute Professor at the Massachusetts Institute of Technology.-Life and career:She earned her BA in... - Discrete Event Simulation programming languages - Richard E. Nance
- Forth - Elizabeth RatherElizabeth RatherElizabeth Rather is the co-founder of FORTH, Inc. and is a leading expert in the Forth programming language.She became involved with Forth while she was at the University of Arizona, but working part-time for NRAO...
, Donald R. Colburn, and Charles H. MooreCharles H. MooreCharles H. Moore is the inventor of the Forth programming language.- Biography :In 1968, while employed at the United States National Radio Astronomy Observatory , Moore invented the initial version of the Forth language to help control radio telescopes... - C - Dennis RitchieDennis RitchieDennis MacAlistair Ritchie , was an American computer scientist who "helped shape the digital era." He created the C programming language and, with long-time colleague Ken Thompson, the UNIX operating system...
- FORMAC - Jean E. SammetJean E. SammetJean E. Sammet is an American computer scientist who developed the FORMAC programming language in 1962.She received her B.A. in Math from Mount Holyoke College in 1948 and her M.A. in Math from University of Illinois at Urbana-Champaign in 1949...
- LispLisp programming languageLisp is a family of computer programming languages with a long history and a distinctive, fully parenthesized syntax. Originally specified in 1958, Lisp is the second-oldest high-level programming language in widespread use today; only Fortran is older...
- Guy L. Steele, Jr.Guy L. Steele, Jr.Guy Lewis Steele Jr. , also known as "The Great Quux", and GLS , is an American computer scientist who has played an important role in designing and documenting several computer programming languages.-Biography:...
and Richard P. GabrielRichard GabrielRichard P. Gabriel is an expert on the Lisp programming language in computing. His best known work was a 1990 essay “Lisp: Good News, Bad News, How to Win Big”, which incorporated the phrase Worse is Better, and his set of Lisp benchmarks , published in 1985 as Performance and evaluation of Lisp... - C++C++C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...
- Bjarne StroustrupBjarne StroustrupBjarne Stroustrup ; born December 30, 1950 in Århus, Denmark) is a Danish computer scientist, most notable for the creation and the development of the widely used C++ programming language... - Ada - William A. Whitaker
- Pascal - N. WirthNiklaus WirthNiklaus Emil Wirth is a Swiss computer scientist, best known for designing several programming languages, including Pascal, and for pioneering several classic topics in software engineering. In 1984 he won the Turing Award for developing a sequence of innovative computer languages.-Biography:Wirth...
Preprints of the proceedings were published in "SIGPLAN Notices", volume 28, number 3, March 1993. The final proceedings, including copies of the presentations and transcripts of question and answer sessions, was published as the ACM Press book http://portal.acm.org/toc.cfm?id=154766 : "History of Programming Languages", edited by Thomas J. Bergin and Richard G. Gibson. Addison Wesley, 1996.
HOPL III
HOPL III was held June 9–10, 2007 in San Diego, CaliforniaSan Diego, California
San Diego is the eighth-largest city in the United States and second-largest city in California. The city is located on the coast of the Pacific Ocean in Southern California, immediately adjacent to the Mexican border. The birthplace of California, San Diego is known for its mild year-round...
. Brent Hailpern
Brent Hailpern
Brent Hailpern is a computer scientist and manager at IBM Research. His research work focused on programming languages and concurrency, and he is now Director of Computer Science at IBM Research - Almaden in San Jose, California.-Education:...
and Barbara G. Ryder were the Conference co-Chairs. HOPL III had an open call for participation and asked for papers on either the early history or the evolution of programming languages. The languages must have come into existence before 1996 and been widely used since 1998, either commercially or within a specific domain. Research languages that had a great influence on subsequent programming languages were also candidates for submission.
As with HOPL I and HOPL II, the papers were managed with a multiple stage review/revision process.
Accepted Papers for HOPL III were:
- "A history of Erlang" by Joe Armstrong
- "A history of Modula-2Modula-2Modula-2 is a computer programming language designed and developed between 1977 and 1980 by Niklaus Wirth at ETH Zurich as a revision of Pascal to serve as the sole programming language for the operating system and application software for the personal workstation Lilith...
and Oberon" by Niklaus WirthNiklaus WirthNiklaus Emil Wirth is a Swiss computer scientist, best known for designing several programming languages, including Pascal, and for pioneering several classic topics in software engineering. In 1984 he won the Turing Award for developing a sequence of innovative computer languages.-Biography:Wirth... - "AppleScriptAppleScriptAppleScript is a scripting language created by Apple Inc. and built into Macintosh operating systems since System 7. The term "AppleScript" may refer to the scripting system itself, or to particular scripts that are written in the AppleScript language....
" by William R. Cook - "Evolving a language in and for the real world: C++C++C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...
1991–2006" by Bjarne StroustrupBjarne StroustrupBjarne Stroustrup ; born December 30, 1950 in Århus, Denmark) is a Danish computer scientist, most notable for the creation and the development of the widely used C++ programming language... - "Self" by David UngarDavid UngarDavid Ungar, an American computer scientist, co-created the Self programming language with Randall Smith. The SELF development environment's animated user experience was described in the influential paper co-written with Bay-Wei Chang, which won a lasting impact award at the ACM Symposium on User...
, Randall B. Smith - "Statecharts in the making: a personal account" by David HarelDavid HarelDavid Harel is a professor of computer science at the Weizmann Institute of Science in Israel. Born in London, England, he was Dean of the Faculty of Mathematics and Computer Science at the institute for seven years.-Biography:...
- "The design and development of ZPL" by Lawrence Snyder
- "The development of the EmeraldEmerald (programming language)Emerald is a distributed, object-oriented programming language developed in the 1980s by Andrew P. Black, Norman C. Hutchinson, Eric Jul, and Henry M...
programming language" by Andrew P. Black, Norman Hutchinson, Eric Jul and Henry M. Levy - "The evolution of Lua" by Roberto IerusalimschyRoberto IerusalimschyRoberto Ierusalimschy is an associate professor of informatics at PUC-Rio . He is the leading architect of the Lua programming language and the author of Programming in Lua and Programming in Lua, Second Edition...
, Luiz Henrique de Figueiredo, and Waldemar Celes - "A history of HaskellHaskell (programming language)Haskell is a standardized, general-purpose purely functional programming language, with non-strict semantics and strong static typing. It is named after logician Haskell Curry. In Haskell, "a function is a first-class citizen" of the programming language. As a functional programming language, the...
: being lazy with class" by Paul Hudak, John Hughes, Simon Peyton JonesSimon Peyton JonesSimon Peyton Jones is a British computer scientist who researches the implementation and applications of functional programming languages, particularly lazy functional languages...
, and Philip WadlerPhilip WadlerPhilip Wadler is a computer scientist known for his contributions to programming language design and type theory. In particular, he has contributed to the theory behind functional programming and the use of monads in functional programming, the design of the purely functional language Haskell, and... - "The rise and fall of High Performance FortranHigh Performance FortranHigh Performance Fortran is an extension of Fortran 90 with constructs that support parallel computing, published by the High Performance Fortran Forum . The HPFF was convened and chaired by Ken Kennedy of Rice University...
: an historical object lesson" by Ken Kennedy, Charles Koelbel, Hans Zima - "The when, why and why not of the BETABETABETA is a pure object-oriented language originating within the "Scandinavian School" in object-orientation where the first object-oriented language Simula was developed....
programming language" by Bent Bruun Kristensen, Ole Lehrmann Madsen, Birger Møller-Pedersen
The HOPL III programming languages can be broadly categorized into five classes (or paradigms
Programming paradigm
A programming paradigm is a fundamental style of computer programming. Paradigms differ in the concepts and abstractions used to represent the elements of a program and the steps that compose a computation A programming paradigm is a fundamental style of computer programming. (Compare with a...
): Object-Oriented
Object-oriented programming
Object-oriented programming is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their interactions – to design applications and computer programs. Programming techniques may include features such as data abstraction,...
(Modula-2
Modula-2
Modula-2 is a computer programming language designed and developed between 1977 and 1980 by Niklaus Wirth at ETH Zurich as a revision of Pascal to serve as the sole programming language for the operating system and application software for the personal workstation Lilith...
, Oberon, C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...
, Self, Emerald, and BETA
BETA
BETA is a pure object-oriented language originating within the "Scandinavian School" in object-orientation where the first object-oriented language Simula was developed....
), Functional
Functional programming
In computer science, functional programming is a programming paradigm that treats computation as the evaluation of mathematical functions and avoids state and mutable data. It emphasizes the application of functions, in contrast to the imperative programming style, which emphasizes changes in state...
(Haskell
Haskell (programming language)
Haskell is a standardized, general-purpose purely functional programming language, with non-strict semantics and strong static typing. It is named after logician Haskell Curry. In Haskell, "a function is a first-class citizen" of the programming language. As a functional programming language, the...
), Scripting
Scripting language
A scripting language, script language, or extension language is a programming language that allows control of one or more applications. "Scripts" are distinct from the core code of the application, as they are usually written in a different language and are often created or at least modified by the...
(AppleScript
AppleScript
AppleScript is a scripting language created by Apple Inc. and built into Macintosh operating systems since System 7. The term "AppleScript" may refer to the scripting system itself, or to particular scripts that are written in the AppleScript language....
, Lua), Reactive (Erlang, StateCharts), and Parallel
Parallel computing
Parallel computing is a form of computation in which many calculations are carried out simultaneously, operating on the principle that large problems can often be divided into smaller ones, which are then solved concurrently . There are several different forms of parallel computing: bit-level,...
(ZPL, High Performance Fortran
High Performance Fortran
High Performance Fortran is an extension of Fortran 90 with constructs that support parallel computing, published by the High Performance Fortran Forum . The HPFF was convened and chaired by Ken Kennedy of Rice University...
). Each HOPL III paper describes the perspective of the creators of the language.
External links
- Official HOPL III conference website
- HOPL: an interactive Roster of Programming Languages
- History of Programming Languages Conference Records 1972-1993. Charles Babbage InstituteCharles Babbage InstituteThe Charles Babbage Institute is a research center at the University of Minnesota specializing in the history of information technology, particularly the history since 1935 of digital computing, programming/software, and computer networking....
, University of Minnesota, Minneapolis. - A history of the history of programming languages by Thomas J. (Tim) Bergin