HOPL
Encyclopedia
History of Programming Languages (HOPL) is an infrequent ACM
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, California
Los 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 60
    ALGOL 60
    ALGOL 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 Naur
    Peter Naur
    Peter 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...

  • APL
    APL programming language
    APL 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. Falkoff
    Adin Falkoff
    Adin 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. Iverson
    Kenneth E. Iverson
    Kenneth 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...

  • APT
    APT programming language
    APT 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. Ross
    Douglas T. Ross
    Douglas 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.-...

  • BASIC
    BASIC
    BASIC 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
  • COBOL
    COBOL
    COBOL 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. 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...

  • FORTRAN
    Fortran
    Fortran is a general-purpose, procedural, imperative programming language that is especially suited to numeric computation and scientific computing...

     - John Backus
    John Backus
    John 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...

  • GPSS
    GPSS
    General Purpose Simulation System is a discrete time simulation language, where a simulation clock advances in discrete steps...

     - Geoffrey Gordon
  • JOSS
    JOSS
    JOSS 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
  • JOVIAL
    JOVIAL
    JOVIAL 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
  • LISP
    Lisp programming language
    Lisp 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 McCarthy
    John 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/I
    PL/I
    PL/I is a procedural, imperative computer programming language designed for scientific, engineering, business and systems programming applications...

     - George Radin
  • SIMULA
    Simula
    Simula 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 Nygaard
    Kristen Nygaard
    Kristen 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:...

  • SNOBOL
    SNOBOL
    SNOBOL 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, Massachusetts
Cambridge, 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:
  • Monitors
    Monitor (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 Pascal
    Concurrent Pascal
    Concurrent 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 Hansen
    Per Brinch Hansen
    Per Brinch Hansen was a Danish-American computer scientist known for concurrent programming theory.-Biography:He was born in Frederiksberg, in Copenhagen, Denmark....

  • Prolog
    Prolog
    Prolog 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 Colmerauer
    Alain Colmerauer
    Alain 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
  • Icon
    Icon programming language
    Icon 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
  • Smalltalk
    Smalltalk
    Smalltalk 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. Kay
    Alan Kay
    Alan 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 68
    ALGOL 68
    ALGOL 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
  • CLU
    CLU programming language
    CLU 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 Liskov
    Barbara Liskov
    Barbara 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 Rather
    Elizabeth Rather
    Elizabeth 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. Moore
    Charles H. Moore
    Charles 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 Ritchie
    Dennis Ritchie
    Dennis 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. 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...

  • Lisp
    Lisp programming language
    Lisp 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. Gabriel
    Richard Gabriel
    Richard 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 Stroustrup
    Bjarne Stroustrup
    Bjarne 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. Wirth
    Niklaus Wirth
    Niklaus 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, California
San 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-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...

     and Oberon" by Niklaus Wirth
    Niklaus Wirth
    Niklaus 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...

  • "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....

    " 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 Stroustrup
    Bjarne Stroustrup
    Bjarne 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 Ungar
    David Ungar
    David 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 Harel
    David Harel
    David 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 Emerald
    Emerald (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 Ierusalimschy
    Roberto Ierusalimschy
    Roberto 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 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...

    : being lazy with class" by Paul Hudak, John Hughes, Simon Peyton Jones
    Simon Peyton Jones
    Simon Peyton Jones is a British computer scientist who researches the implementation and applications of functional programming languages, particularly lazy functional languages...

    , and Philip Wadler
    Philip Wadler
    Philip 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 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...

    : an historical object lesson" by Ken Kennedy, Charles Koelbel, Hans Zima
  • "The when, why and why not of the 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....

     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

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK